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


структура WDF_DEVICE_PNP_CAPABILITIES (wdfdevice.h)

[Применимо к KMDF и UMDF]

Структура WDF_DEVICE_PNP_CAPABILITIES описывает возможности устройства Plug and Play.

Синтаксис

typedef struct _WDF_DEVICE_PNP_CAPABILITIES {
  ULONG         Size;
  WDF_TRI_STATE LockSupported;
  WDF_TRI_STATE EjectSupported;
  WDF_TRI_STATE Removable;
  WDF_TRI_STATE DockDevice;
  WDF_TRI_STATE UniqueID;
  WDF_TRI_STATE SilentInstall;
  WDF_TRI_STATE SurpriseRemovalOK;
  WDF_TRI_STATE HardwareDisabled;
  WDF_TRI_STATE NoDisplayInUI;
  ULONG         Address;
  ULONG         UINumber;
} WDF_DEVICE_PNP_CAPABILITIES, *PWDF_DEVICE_PNP_CAPABILITIES;

Члены

Size

Размер этой структуры в байтах.

LockSupported

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, устройство может быть заблокировано в его слоте, чтобы предотвратить удаление. (Эта возможность отключает удаление устройства из своего слота, а не извлечение носителя с устройства.) Дополнительные сведения о WDF_TRI_STATE типизированных значений см. в следующем разделе "Примечания".

EjectSupported

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue, то устройство можно извлечь из слота. (Эта возможность позволяет извлекать устройство из своего слота, а не извлекать носитель с устройства.)

Removable

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue, то устройство можно удалить во время работы системы. Если Съемные установлено значение WdfTrue и SurpriseRemovalOK задано значение WdfFalse, пользователи должны использовать программу unplug или Eject Hardware.

DockDevice

Значение типа WDF_TRI_STATE, указывающее, если задано значение WdfTrue, то устройство является станцией док-станции.

UniqueID

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue, идентификатор экземпляра устройства является уникальным для всей системы. Если UniqueID задано значение WdfFalse, идентификатор экземпляра является уникальным только для шины устройства. Дополнительные сведения об идентификаторах экземпляров см. в строках идентификации устройств.

SilentInstall

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue, то диспетчер устройств не должен отображать диалоговые окна во время установки устройства.

SurpriseRemovalOK

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue (и если Съемные также задано значение WdfTrue), пользователи могут удалить устройство без использования программы unplug или Eject Hardware.

HardwareDisabled

Значение WDF_TRI_STATE типа, указывающее, если задано значение WdfTrue, то устройство отключено.

NoDisplayInUI

Значение типа WDF_TRI_STATE, указывающее, если задано значение WdfTrue, то диспетчер устройств не должен отображать устройство.

Address

Адрес, указывающий, где находится устройство на его шине.

Интерпретация этого числа зависит от шины. Если адрес неизвестен или водитель автобуса не поддерживает адрес, водитель шины покидает член адрес по умолчанию 0xFFFFFFFF (-1).

В следующем списке описываются сведения о том, что некоторые водители шины хранятся в элементе адресе для своих дочерних устройств:

Автобус Описание
1394 Не предоставляет адрес, так как адреса являются переменными. По умолчанию 0xFFFFFFFF.
EISA Номер слота (0-F).
Интегрированная среда разработки (IDE) Для устройства интегрированной среды разработки адрес содержит целевой идентификатор и LUN. Для канала интегрированной среды разработки адрес равен нулю или одному (0 = первичный канал и 1 = вторичный канал).
ISApnp Не предоставляет адрес. По умолчанию 0xFFFFFFFF.
Pc Card (PCMCIA) Номер сокета (обычно 0x00 или 0x40).
PCI Номер устройства в высоком слове и номер функции в низком слове.
SCSI Идентификатор целевого объекта.
USB Номер порта.

UINumber

Число, связанное с устройством и которое может отображаться в пользовательских интерфейсах. Это число обычно является номером слота, воспринимаемым пользователем, например числом, напечатанным рядом с слотом на доске или другим номером, который помогает пользователю находить устройство. Если uiNumber неизвестно или если указать число не поможет пользователю определить расположение устройства, драйвер задает для этого значения значение -1.

Замечания

Несколько членов используют тип WDF_TRI_STATE. Для этих членов значение WdfTrue указывает, что устройство поддерживает возможность и значение WdfFalse указывает, что это не так. Значение WdfUseDefault указывает, что платформа будет использовать значение, которое драйвер ниже в предоставленном стеке. Например, если драйвер шины указывает WdfTrue для LockSupported, а драйвер функции устройства указывает WdfUseDefault, платформа сохраняет WdfTrue для возможности.

Структура WDF_DEVICE_PNP_CAPABILITIES используется в качестве входных данных для WdfDeviceSetPnpCapabilities.

Чтобы инициализировать структуру WDF_DEVICE_PNP_CAPABILITIES, драйвер должен вызывать WDF_DEVICE_PNP_CAPABILITIES_INIT.

Требования

Требование Ценность
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
Заголовок wdfdevice.h (include Wdf.h)

См. также

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice