estructura STOR_DEVICE_CAPABILITIES (storport.h)
La estructura STOR_DEVICE_CAPABILITIES notifica las funcionalidades del dispositivo al controlador Storport en respuesta a una consulta de funcionalidades en un bloque de solicitudes SCSI (SRB) con una función de SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES es un subconjunto de la estructura de DEVICE_CAPABILITIES que contiene los miembros pertinentes para los dispositivos de almacenamiento.
Sintaxis
typedef struct _STOR_DEVICE_CAPABILITIES {
USHORT Version;
ULONG DeviceD1 : 1;
ULONG DeviceD2 : 1;
ULONG LockSupported : 1;
ULONG EjectSupported : 1;
ULONG Removable : 1;
ULONG DockDevice : 1;
ULONG UniqueID : 1;
ULONG SilentInstall : 1;
ULONG SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;
Miembros
Version
Especifica la versión de la estructura. Establezca en STOR_DEVICE_CAPABILITIES_EX_VERSION_1 por Storport.
DeviceD1
Especifica si el hardware del dispositivo admite el estado de alimentación D1. Los controladores de minipuerto establecen este bit en 0.
DeviceD2
Especifica si el hardware del dispositivo admite el estado de alimentación D2. Los controladores de minipuerto establecen este bit en 0.
LockSupported
Especifica si el dispositivo admite el bloqueo de dispositivos físicos que impide la expulsión del dispositivo. Este miembro pertenece a la expulsión de un LUN o un dispositivo de unidad.
EjectSupported
Especifica si el dispositivo admite la expulsión de dispositivos controlados por software mientras el sistema está en estado PowerSystemWorking . Este miembro pertenece a la expulsión de un LUN o un dispositivo de unidad.
Removable
Especifica si el dispositivo se puede quitar dinámicamente de su elemento primario inmediato. Si Removable está establecido en TRUE, el dispositivo no pertenece al mismo objeto físico que su elemento primario.
Si Removable está establecido en TRUE, el dispositivo se muestra en el programa Desconectar o expulsar hardware, a menos que SurpriseRemovalOK también esté establecido en TRUE.
DockDevice
Especifica si el dispositivo es un periférico de acoplamiento.
UniqueID
Especifica si el identificador de instancia del dispositivo es único en todo el sistema. Este bit está claro si el identificador de instancia es único solo dentro del ámbito del bus.
SilentInstall
Especifica si Administrador de dispositivos debe suprimir todos los cuadros de diálogo de instalación; excepto los cuadros de diálogo necesarios, como "no se encontraron controladores compatibles".
SurpriseRemovalOK
Especifica si el controlador de miniport para el dispositivo puede controlar el caso en el que se quita el dispositivo antes de que Storport pueda enviar SRB_FUNCTION_PNP con StorRemoveDevice como PnPAction en la estructura de SCSI_PNP_REQUEST_BLOCK . Si SurpriseRemovalOK está establecido en TRUE, el dispositivo se puede quitar de forma segura de su elemento primario inmediato, independientemente del estado en el que se encuentra su controlador.
NoDisplayInUI
No muestre el dispositivo en la interfaz de usuario. Si se establece este bit, el dispositivo nunca se muestra en la interfaz de usuario, incluso si el dispositivo está presente, pero no se inicia. Los controladores de minipuerto no establecen este bit.
Comentarios
Cuando un controlador de minipuerto recibe un SRB en su rutina HwStorStartIo donde se SRB_FUNCTION_PNP la función SRB, la SRB tiene el formato de estructura SCSI_PNP_REQUEST_BLOCK . Si el miembro PnPAction del SRB es StorQueryCapabilities, el miniporte puede devolver una estructura de STOR_DEVICE_CAPABILITIES en el miembro DataBuffer del SRB.
Storport envía esta estructura al miniport con todos los miembros inicializados en 0. Al devolver, solo se utiliza el campo Extraíble de esta estructura.
A partir de Windows 8, los miniportes deben usar la estructura STOR_DEVICE_CAPABILITIES_EX para indicar la compatibilidad con funcionalidades adicionales.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Encabezado | storport.h (incluya Storport.h, Minitape.h, Srb.h) |