ACAPI_Attribute_Get
데이터베이스로부터 속성을 가져옵니다.
GSErrCode ACAPI_Attribute_Get ( API_Attribute* attribute );
파라미터
- attribute
- [in/out] 속성의 파라미터들입니다.
속성의 타입과 인덱스 또는 이름이 반드시 속성 헤더의
typeID
와index
필드 또는typeID
와name
필드에 전달되어야 합니다. 속성의 데이터는 API_Attribute structure의 적절한 필드들에 리턴됩니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
- 전달된 파라미터
(attribute)
가NULL
입니다. APIERR_BADID
- 속성 타입이 유효하지 않습니다.
APIERR_BADINDEX
- 속성 인덱스가 유효하지 않습니다; 만약 인덱스로 참조한 경우
APIERR_BADNAME
- 주어진 이름을 가진 속성이 존재하지 않습니다; 만약 이름으로 참조한 경우
APIERR_DELETED
- 속성이 데이터베이스 안에 존재하지 않습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 데이터베이스로부터 한 속성의 데이터를 가져오는 데 사용합니다.
typeID
외에도 당신은 헤더의 index
또는 name
필드를 지정해야 합니다.
후자의 경우, index
필드는 0으로 세트해야 합니다. 그리고 속성 데이터베이스가 이름으로 검색됩니다.
당신은 특정 속성 타입들에 대하여 확장된 정보를 가져오기 위해 선택적으로 ACAPI_Attribute_GetDef를 호출할 수도 있습니다.
인덱스 범위는 항상 연속적이지 않습니다; 제거된 속성들은 데이터베이스로부터 즉시 추방되지 않습니다.
참고: 측수 펜 ID들이 사용될 수 있습니다:
1000
: 그리드 라인의 컬러를 리턴합니다.1001
: 구역(zone) 스탬프의 컬러를 리턴합니다.1002
: 고스트 층의 컬러를 리턴합니다.
예제
/* 예제 I -- 속성 하나를 가져옴 */ API_Attribute attrib; GSErrCode err; BNZeroMemory (&attrib, sizeof (API_Attribute)); /* "Wave" 라인 타입을 가져옴 */ attrib.header.typeID = API_LinetypeID; CHCopyC ("Wave", attrib.header.name); err = ACAPI_Attribute_Get (&attrib); /* 예제 II -- 모든 속성을 반복합니다 */ API_Attribute attrib; short nLin, i; GSErrCode err; BNZeroMemory (&attrib, sizeof (API_Attribute)); attrib.header.typeID = API_LinetypeID; err = ACAPI_Attribute_GetNum (API_LinetypeID, &nLin); for (i = 1; i <= nLin && err == NoError; i++) { attrib.header.index = i; err = ACAPI_Attribute_Get (&attrib); if (err == NoError) { /* 당신이 원하는 것을 수행함 */ } if (err == APIERR_DELETED) err = NoError; }
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h