WdfDeviceAssignInterfaceProperty 함수(wdfdevice.h)

중요

UMDF에만 적용됩니다.

WdfDeviceAssignInterfaceProperty 메서드는 디바이스 인터페이스 속성의 현재 값을 수정합니다.

참고

디바이스 인터페이스 속성을 검색하거나 수정하려면 KMDF 드라이버가 IoGetDeviceInterfacePropertyData 또는 IoSetDeviceInterfacePropertyData 를 직접 호출해야 합니다.

구문

NTSTATUS WdfDeviceAssignInterfaceProperty(
  [in]           WDFDEVICE                           Device,
  [in]           PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]           DEVPROPTYPE                         Type,
  [in]           ULONG                               BufferLength,
  [in, optional] PVOID                               PropertyBuffer
);

매개 변수

[in] Device

프레임워크 디바이스 개체에 대한 핸들입니다.

[in] PropertyData

WDF_DEVICE_INTERFACE_PROPERTY_DATA 구조체에 대한 포인터입니다.

[in] Type

PropertyBuffer에 제공되는 데이터의 형식을 지정하는 DEVPROPTYPE 형식 값입니다.

[in] BufferLength

PropertyBuffer가 가리키는 버퍼의 길이(바이트)를 지정합니다.

[in, optional] PropertyBuffer

디바이스 인터페이스 속성 데이터에 대한 포인터입니다. 지정된 속성을 삭제하려면 이 매개 변수를 NULL 로 설정합니다.

반환 값

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

반환 코드 설명
STATUS_INVALID_PARAMETER 매개 변수 중 하나가 잘못되었습니다.

메서드는 다른 NTSTATUS 값을 반환할 수 있습니다.

설명

관련 방법에 대한 자세한 내용은 통합 디바이스 속성 모델 액세스를 참조하세요.

예제

다음 코드 예제에서는 WDF_DEVICE_INTERFACE_PROPERTY_DATA 구조를 초기화한 다음 WdfDeviceAssignInterfaceProperty를 호출합니다.

DEFINE_DEVPROPKEY(DEVPKEY_ToasterCrispLevelDword, 0x5d0ba64a, 0x2396, 0x4bc9, 0xbf, 0x49, 0x52, 0x1d, 0xa6, 0x2b, 0x1b, 0xed, 3);  // DEVPROP_TYPE_UINT32

ULONG crispLevel = 0;
WDF_DEVICE_INTERFACE_PROPERTY_DATA propertyData;

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT(
                          &propertyData, 
                          &GUID_DEVINTERFACE_TOASTER_DRIVER
                          &DEVPKEY_ToasterCrispLevelDword
                          );

status = WdfDeviceAssignInterfaceProperty(device, 
                                          &propertData,
                                          DEVPROP_TYPE_UINT32,
                                          sizeof(crispLevel),
                                          &crispLevel);
if (!NT_SUCCESS(status)) {
    return status;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 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

WdfDeviceQueryInterfaceProperty