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