ACAPI_ListData_Search
listdata를 검색합니다.
GSErrCode ACAPI_ListData_Search ( API_ListData* listdata );
파라미터
- listdata
- [in/out] listdata의 파라미터들입니다.
listdata의 type과 setIndex는 listdata 헤더의
typeID
와setIndex
필드들 안에 전달되어야 합니다. listdata의 code 그리고/또는 keycode는 listdata의code
와keycode
필드들 안에 전달되어야 합니다. 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