ACAPI_Element_Get
주어진 요소의 메인 파라미터들에 대한 정보를 리턴합니다.
GSErrCode ACAPI_Element_Get ( API_Element* element, UInt32 mask );
파라미터
- element
- [in/out] 동작에 참여하는 요소입니다.
- mask
- [in] 선택적인 마스크입니다. 현재 유효한 값은
0
과APIElemMask_FloorPlan
입니다. 후자의 경우, 먼저 평면도 데이터베이스를 변경하지 않고 그 데이터베이스에 있는 요소들을 직접 셉니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
- 전달된 파라미터가
NULL; 요소입니다.
APIERR_BADID
- 요소 레퍼런스가 유효하지 않습니다. (
guid
) 요소 타입이 유효하지 않습니다. 또는
요소 타입이 서버 애플리케이션에서 지원하지 않습니다. APIERR_DELETED
- 요소가 데이터베이스에 존재하지 않습니다
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 주어진 요소의 메인 파라미터들에 대한 정보를 API_Element structure에 리턴합니다. 이 structure는 서로 다른 요소 structure들의 union입니다.
(API 18 또는 이후부터) 요소를 식별하는 방법은 단 하나만 존재합니다:
- 요소 헤더에 요소의
guid
를 전달합니다.
리턴되는 정보는 요소의 메인 데이터입니다; 더 많은 정보는 ACAPI_Element_GetMemo 함수로 얻을 수 있습니다; 헤더의 hasMemo
필드는 추가 정보가 있는지를 알려줍니다.
이 함수를 호출하기 전에 ACAPI_Element_Filter 함수로 필터링을 사용하십시오; 이 경우 당신은 특수한 경우에 변환 시간을 아낄 수 있습니다.
요소에 의해 참조되는 속성들이 유효하지 않을 수 있음을 참고하시기 바랍니다. 레이어 속성은 반드시 존재해야 하는 유일한 속성입니다. 다른 타입의 속성들은 요소 데이터베이스 편집 없이도 삭제될 수 있습니다. 이렇게 하면 요소들은 <MISSING> 속성들을 참조할 수도 있습니다. 이 경우 ACAPI_Attribute_Get 함수는 오류 코드를 리턴합니다.
예제
GSErrCode lastErr; API_Element element; GS::Array<API_Guid> columnList; lastErr = ACAPI_Element_GetElemList (API_ColumnID, &columnList, APIFilt_OnVisLayer | APIFilt_OnActFloor); if (lastErr != NoError) return lastErr; for (GS::Array<API_Guid>::ConstIterator it = columnList.Enumerate (); it != NULL; ++it) { BNZeroMemory (&element, sizeof (API_Element)); element.header.guid = *it; lastErr = ACAPI_Element_Get (&element); if (lastErr == NoError) { /* 커스텀 요소 처리하기 */ } }
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_Elem_Head, API_Element,
ACAPI_Element_GetMemo, ACAPI_Element_Filter,
요소 관리자, API 함수