WdfDeviceQueryInterfaceProperty 함수(wdfdevice.h)
[UMDF에만 적용]
WdfDeviceQueryInterfaceProperty 메서드는 지정된 디바이스 인터페이스 속성을 검색합니다.
구문
NTSTATUS WdfDeviceQueryInterfaceProperty(
[in] WDFDEVICE Device,
[in] PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
[in] ULONG BufferLength,
[out] PVOID PropertyBuffer,
[out] PULONG ResultLength,
[out] PDEVPROPTYPE Type
);
매개 변수
[in] Device
프레임워크 디바이스 개체에 대한 핸들입니다.
[in] PropertyData
검색할 디바이스 인터페이스 속성을 식별하는 WDF_DEVICE_INTERFACE_PROPERTY_DATA 구조체에 대한 포인터입니다.
[in] BufferLength
PropertyBuffer가 가리키는 버퍼의 크기(바이트)입니다.
[out] PropertyBuffer
요청된 디바이스 인터페이스 속성을 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다. BufferLength 매개 변수가 0이면 포인터가 NULL일 수 있습니다.
[out] ResultLength
반환 시 PropertyBuffer에 저장된 WdfDeviceQueryInterfaceProperty 정보의 크기(바이트)를 포함하는 호출자 제공 위치입니다. 함수의 반환 값이 STATUS_BUFFER_TOO_SMALL 경우 이 위치는 필요한 버퍼 크기를 받습니다.
[out] Type
PropertyBuffer가 가리키는 버퍼에 저장된 WdfDeviceQueryInterfaceProperty 속성 데이터의 형식을 식별하는 DEVPROPTYPE 형식 변수에 대한 포인터입니다.
반환 값
WdfDeviceQueryInterfaceProperty 메서드에 오류가 발생하지 않으면 STATUS_SUCCESS 반환합니다. 추가 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
입력 버퍼가 너무 작아서 정보를 받을 수 없습니다. |
|
지정한 매개 변수 값이 잘못되었습니다. |
메서드는 다른 NTSTATUS 값을 반환할 수 있습니다.
설명
디바이스 속성 데이터를 수신하기 전에 드라이버는 일반적으로 WdfDeviceQueryInterfaceProperty 메서드를 호출하여 필요한 버퍼 크기를 가져옵니다. 일부 속성의 경우 필요한 크기가 반환되는 시점과 드라이버가 WdfDeviceQueryInterfaceProperty 를 다시 호출하는 시점 간에 데이터 크기가 변경됩니다. 따라서 드라이버는 반환 상태 STATUS_BUFFER_TOO_SMALL 않을 때까지 실행되는 루프 내에서 WdfDeviceQueryInterfaceProperty를 호출해야 합니다.
필요한 버퍼 크기를 알고 변경되지 않는 경우에만 WdfDeviceQueryInterfaceProperty 를 사용하는 것이 가장 좋습니다. 이 경우 드라이버는 WdfDeviceQueryInterfaceProperty 를 한 번만 호출해야 하기 때문입니다. 필요한 버퍼 크기를 알 수 없거나 다른 경우 드라이버는 WdfDeviceAllocAndQueryInterfaceProperty를 호출해야 합니다.
관련 방법에 대한 자세한 내용은 통합 디바이스 속성 모델 액세스를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 |
대상 플랫폼 | 유니버설 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfdevice.h(Wdf.h 포함) |
라이브러리 | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
추가 정보
WDF_DEVICE_INTERFACE_PROPERTY_DATA
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT