estructura WDF_DEVICE_PNP_CAPABILITIES (wdfdevice.h)

[Se aplica a KMDF y UMDF]

La estructura de WDF_DEVICE_PNP_CAPABILITIES describe las funcionalidades de Plug and Play de un dispositivo.

Sintaxis

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;

Miembros

Size

Tamaño, en bytes, de esta estructura.

LockSupported

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el dispositivo se puede bloquear en su ranura para evitar la ejección. (Esta funcionalidad deshabilita la expulsión de un dispositivo de su ranura, no la expulsión de medios de un dispositivo). Para obtener más información sobre los valores con tipo WDF_TRI_STATE, vea la siguiente sección Comentarios.

EjectSupported

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el dispositivo se puede expulsar de su ranura. (Esta funcionalidad permite expulsar un dispositivo de su ranura, no expulsar medios de un dispositivo).

Removable

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el dispositivo se puede quitar mientras se ejecuta el sistema. Si Removable está establecido en WdfTrue y SurpriseRemovalOK está establecido en WdfFalse, los usuarios deben usar el programa Desconectar o expulsar hardware del sistema.

DockDevice

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el dispositivo es una estación de acoplamiento.

UniqueID

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el identificador de instancia del dispositivo es único para todo el sistema. Si UniqueID se establece en WdfFalse, el identificador de instancia solo es único para el bus del dispositivo. Para obtener más información sobre los identificadores de instancia, consulte Cadenas de identificación de dispositivos.

SilentInstall

Valor WDF_TRI_STATE tipo que indica, si se establece en WdfTrue, ese Administrador de dispositivos no debe mostrar cuadros de diálogo durante la instalación del dispositivo.

SurpriseRemovalOK

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue (y si Removable también está establecido en WdfTrue), los usuarios pueden quitar el dispositivo sin usar el programa Desenchuf o Eject Hardware del sistema.

HardwareDisabled

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, que el dispositivo está deshabilitado.

NoDisplayInUI

Valor con tipo WDF_TRI_STATE que indica, si se establece en WdfTrue, ese Administrador de dispositivos no debe mostrar el dispositivo.

Address

Dirección que indica dónde se encuentra el dispositivo en su bus.

La interpretación de este número es específica del bus. Si la dirección es desconocida o el controlador de autobús no admite una dirección, el controlador de autobús deja al miembro Address en su valor predeterminado de 0xFFFFFFFF (-1).

En la lista siguiente se describe la información que ciertos controladores de autobús almacenan en el miembro Address para sus dispositivos secundarios:

En bus Descripción
1394 No proporciona una dirección porque las direcciones son volátiles. El valor predeterminado es 0xFFFFFFFF.
EISA Número de ranura (0-F).
IDE Para un dispositivo IDE, la dirección contiene el identificador de destino y el LUN. Para un canal IDE, la dirección es cero o una (0 = canal principal y 1 = canal secundario).
Isapnp No proporciona una dirección. El valor predeterminado es 0xFFFFFFFF.
Tarjeta PC (PCMCIA) Número de socket (normalmente 0x00 o 0x40).
PCI Número de dispositivo en la palabra alta y el número de función en la palabra baja.
SCSI Identificador de destino.
USB Número del puerto.

UINumber

Número asociado al dispositivo y que se puede mostrar en las interfaces de usuario. Este número suele ser un número de ranura percibido por el usuario, como un número impreso junto a la ranura de la placa o algún otro número que ayude al usuario a localizar el dispositivo. Si UINumber es desconocido o si proporcionar un número no ayudaría al usuario a identificar la ubicación del dispositivo, el controlador establece este valor en -1.

Comentarios

Varios miembros usan el tipo WDF_TRI_STATE . Para estos miembros, un valor de WdfTrue indica que el dispositivo admite la funcionalidad y un valor de WdfFalse indica que no lo hace. Un valor de WdfUseDefault indica que el marco usará el valor que un controlador inferior en la pila proporcionada. Por ejemplo, si un controlador de bus especifica WdfTrue para LockSupported y el controlador de función del dispositivo especifica WdfUseDefault, el marco almacena WdfTrue para la funcionalidad.

La estructura WDF_DEVICE_PNP_CAPABILITIES se usa como entrada para WdfDeviceSetPnpCapabilities.

Para inicializar una estructura de WDF_DEVICE_PNP_CAPABILITIES, un controlador debe llamar a WDF_DEVICE_PNP_CAPABILITIES_INIT.

Requisitos

Requisito Value
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluya Wdf.h)

Consulte también

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice