다음을 통해 공유


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

DEVPROPTYPE형식화된 변수에 대한 포인터로, PropertyBuff er가 가리키는 버퍼에 저장된 WdfDeviceQueryInterfaceProperty 속성 데이터의 형식을 식별합니다.

반환 값

WdfDeviceQueryInterfaceProperty 메서드에 오류가 발생하지 않으면 STATUS_SUCCESS 반환됩니다. 추가 반환 값은 다음과 같습니다.

반환 코드 묘사
STATUS_BUFFER_TOO_SMALL
입력 버퍼가 너무 작아서 정보를 받을 수 없습니다.
STATUS_INVALID_PARAMETER_2
지정한 매개 변수 값이 잘못되었습니다.
 

메서드는 다른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

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty