Graphisoft®

API Development KitVersion: 18

ACAPI_ListData_Search

listdata를 검색합니다.

    GSErrCode  ACAPI_ListData_Search (
        API_ListData*     listdata
    );

 

파라미터

listdata
[in/out] listdata의 파라미터들입니다. listdata의 type과 setIndex는 listdata 헤더의 typeIDsetIndex 필드들 안에 전달되어야 합니다. listdata의 code 그리고/또는 keycode는 listdata의 codekeycode 필드들 안에 전달되어야 합니다. listdata 헤더의 setIndex와 index 필드들은 검색된 listdata에 setIndex/index를 리턴하기 위한 출력 파라미터들로 사용됩니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADKEYCODE
유효하지 않은 code 또는 keycode를 전달했습니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 listdata 헤더의 setIndex, typeID, code/keycode 필드들로 식별되는 listdata를 검색하는 데 사용합니다. unit들과 key들은 code로 검색할 수 있고, component들과 descriptor들은 code 그리고/또는 keycode로 검색할 수 있습니다. 리스팅 데이터베이스의 모든 집합들은 keycode에 의해 정렬됩니다.

 

API_ListData_Head

 

setIndex

필수 (만약 0이면 - 모든 집합들에서 검색함)

typeID

필수

API_ListDataID

keycode

code

API_KeyID 또는 API_UnitID

존재하지 않음

필수

API_ComponentID 또는 API_DescriptorID

필수

선택

 

예제

API_ListData  listdata;
char          buffer[256];
GSErrCode     err;

BNZeroMemory (&listdata, sizeof (API_ListData));

listdata.header.setIndex = 0;
listdata.header.typeID   = API_ComponentID;
CHCopyC ("003", listdata.component.keycode);
CHCopyC ("", listdata.component.code);

err = ACAPI_ListData_Search (&listdata);
if (err == NoError) {
    sprintf (buffer, "Set index: %d,  key code: \"003\"", listdata.header.setIndex);
    ACAPI_WriteReport (buffer, false);

    err = ACAPI_ListData_Get (&listdata);
    while (err == NoError && CHEqualASCII (listdata.component.keycode, "003", CS_CaseInsensitive)) {
        sprintf (buffer, " Code: \"%s\", name: %s", listdata.component.code, listdata.component.name);
        ACAPI_WriteReport (buffer, false);

        listdata.header.index++;
        err = ACAPI_ListData_Get (&listdata);
    }
}

 

요구사항

버전: API 2.1 또는 이후
헤더: ACAPinc.h

 

참고사항

API_ListData,
리스팅 관리자, API 함수