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
一个 DEVPROPTYPE 类型的值,该值指定 PropertyBuffer 中提供的数据类型。
[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) |
Library | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
另请参阅
WDF_DEVICE_INTERFACE_PROPERTY_DATA
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT