Поделиться через


Функция 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

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceQueryInterfaceProperty