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) |