Функция 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) |
Библиотека | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
См. также раздел
WDF_DEVICE_INTERFACE_PROPERTY_DATA
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT