다음을 통해 공유


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 반환합니다.

설명

이 함수가 NULLReturnBufferReturnBufferSize 0으로 호출되는 경우 함수는 지정된 데이터를 RequiredSize가 가리키는 변수에 보관하는 데 필요한 버퍼 크기를 배치합니다. 함수가 성공하면 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값이 0이고 GetLastError를 호출하여 확장된 오류 정보를 가져올 수 있습니다.

이 함수의 작동 방식을 더 잘 이해하려면 INF 파일에서 다음 줄을 고려하세요.

X=34,FF,00,13

이전 줄에서 SetupGetBinaryField 를 호출한 경우 이진 값 34, FF, 00 및 13은 ReturnBuffer에서 지정한 버퍼에 배치됩니다.

이 함수의 유니코드 버전의 경우 ReturnBufferSizeRequiredSize 버퍼 크기가 문자 수로 지정됩니다. 이 숫자에는 null 종결자가 포함됩니다. 이 함수의 ANSI 버전에서는 크기가 바이트 수로 지정됩니다.

이 함수가 NULLReturnBufferReturnBufferSize 0으로 호출되는 경우 함수는 지정된 데이터를 RequiredSize가 가리키는 변수에 보관하는 데 필요한 버퍼 크기를 배치합니다. 함수가 성공하면 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값이 0이고 GetLastError를 호출하여 확장된 오류 정보를 가져올 수 있습니다.

따라서 함수를 한 번 호출하여 필요한 버퍼 크기를 얻고, 필요한 메모리를 할당한 다음, 함수를 두 번째로 호출하여 데이터를 검색할 수 있습니다. 이 기술을 사용하면 버퍼 크기가 부족하여 오류를 방지할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 setupapi.h
라이브러리 Setupapi.lib
DLL Setupapi.dll

참조

함수

개요

SetupGetIntField

SetupGetMultiSzField

SetupGetStringField