SetupGetBinaryField 함수(setupapi.h)
[이 함수는 요구 사항 섹션에 표시된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. SetupAPI는 더 이상 애플리케이션 설치에 사용되지 않아야 합니다. 대신 Windows Installer를 사용하여 애플리케이션 설치 관리자를 개발합니다. SetupAPI는 디바이스 드라이버를 설치하는 데 계속 사용됩니다.]
SetupGetBinaryField 함수는 INF 파일 섹션의 줄에서 지정된 필드에서 줄 끝까지 이진 데이터를 검색합니다.
구문
WINSETUPAPI BOOL SetupGetBinaryField(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PBYTE ReturnBuffer,
[in] DWORD ReturnBufferSize,
[in, out] LPDWORD RequiredSize
);
매개 변수
[in] Context
줄에 대한 INF 컨텍스트입니다.
[in] FieldIndex
이진 데이터를 검색해야 하는 지정된 줄 내의 시작 필드의 1부터 시작하는 인덱스입니다. 이진 데이터는 각 필드에서 이 시점부터 줄 끝까지 빌드됩니다. 각 필드는 1바이트에 해당하며 16진수 표기법입니다. FieldIndex가 0이면 이 함수에서 유효하지 않습니다.
[in, out] ReturnBuffer
이진 데이터를 수신하는 버퍼에 대한 선택적 포인터입니다. 대상 버퍼의 크기가 원본 버퍼보다 크거나 같은지 확인해야 합니다. 함수를 한 번 호출하여 필요한 버퍼 크기를 얻고, 필요한 메모리를 할당한 다음, 함수를 두 번째로 호출하여 데이터를 검색할 수 있습니다. 이 기술을 사용하면 버퍼 크기가 부족하여 오류를 방지할 수 있습니다. 주의 섹션을 참조하십시오.
[in] ReturnBufferSize
ReturnBuffer가 가리키는 버퍼의 크기(문자)입니다. 이 숫자에는 null 종결자가 포함됩니다.
[in, out] RequiredSize
ReturnBuffer를 가리키는 버퍼에 필요한 크기를 문자 단위로 받는 변수에 대한 선택적 포인터입니다. 이 숫자에는 null 종결자가 포함됩니다. 필요한 크기가 ReturnBufferSize에 지정된 값보다 크면 함수가 실패하고 GetLastError 를 호출하면 ERROR_INSUFFICIENT_BUFFER 반환됩니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
SetupGetBinaryField에서 검색하는 필드가 0-FF 범위의 유효한 16진수가 아닌 경우 GetLastError는 ERROR_INVALID_DATA 반환합니다.
설명
이 함수가 NULL의 ReturnBuffer 및 ReturnBufferSize 0으로 호출되는 경우 함수는 지정된 데이터를 RequiredSize가 가리키는 변수에 보관하는 데 필요한 버퍼 크기를 배치합니다. 함수가 성공하면 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값이 0이고 GetLastError를 호출하여 확장된 오류 정보를 가져올 수 있습니다.
이 함수의 작동 방식을 더 잘 이해하려면 INF 파일에서 다음 줄을 고려하세요.
X=34,FF,00,13
이전 줄에서 SetupGetBinaryField 를 호출한 경우 이진 값 34, FF, 00 및 13은 ReturnBuffer에서 지정한 버퍼에 배치됩니다.
이 함수의 유니코드 버전의 경우 ReturnBufferSize 및 RequiredSize 버퍼 크기가 문자 수로 지정됩니다. 이 숫자에는 null 종결자가 포함됩니다. 이 함수의 ANSI 버전에서는 크기가 바이트 수로 지정됩니다.
이 함수가 NULL의 ReturnBuffer 및 ReturnBufferSize 0으로 호출되는 경우 함수는 지정된 데이터를 RequiredSize가 가리키는 변수에 보관하는 데 필요한 버퍼 크기를 배치합니다. 함수가 성공하면 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값이 0이고 GetLastError를 호출하여 확장된 오류 정보를 가져올 수 있습니다.
따라서 함수를 한 번 호출하여 필요한 버퍼 크기를 얻고, 필요한 메모리를 할당한 다음, 함수를 두 번째로 호출하여 데이터를 검색할 수 있습니다. 이 기술을 사용하면 버퍼 크기가 부족하여 오류를 방지할 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | setupapi.h |
라이브러리 | Setupapi.lib |
DLL | Setupapi.dll |