estructura STOR_DEVICE_CAPABILITIES_EX (srb.h)

La estructura STOR_DEVICE_CAPABILITIES_EX informa de las funcionalidades del dispositivo al controlador de puerto SCSI 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_EX {
  USHORT Version;
  USHORT Size;
  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  RawDeviceOK : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
  ULONG  DefaultWriteCacheEnabled : 1;
  ULONG  Reserved0 : 20;
  ULONG  Address;
  ULONG  UINumber;
  ULONG  Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;

Miembros

Version

Especifica la versión de la estructura. Establezca en STOR_DEVICE_CAPABILITIES_EX_VERSION_1 por Storport.

Size

Especifica el tamaño de la estructura. Establezca en sizeof(STOR_DEVICE_CAPABILITIES_EX) 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 extraíble está establecido en TRUE:

  • El dispositivo no pertenece al mismo objeto físico que su elemento primario.
  • 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".

RawDeviceOK

Especifica si el controlador del bus subyacente puede controlar el dispositivo si no hay ningún controlador de función (por ejemplo, dispositivos SCSI en modo de paso a través). Este modo de operación se denomina modo sin formato.

SurpriseRemovalOK

Especifica si el controlador de miniporte para el dispositivo puede controlar el caso en el que se quita el dispositivo antes de que el puerto SCSI 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.

DefaultWriteCacheEnabled

La caché de escritura del dispositivo de almacenamiento está habilitada de forma predeterminada en la inicialización.

Reserved0

Bits reservados.

Address

Dirección LUN del dispositivo de unidad de almacenamiento.

UINumber

Especifica un número asociado al dispositivo que se puede mostrar en la interfaz de usuario.

Este número puede ser un valor de identificador elegido para facilitar la localización del dispositivo físico para el usuario. Cuando se desconoce UINumber , el controlador de minipuerto puede establecer este miembro en su valor predeterminado de 0xFFFFFFFF.

Reserved1[2]

Bits reservados.

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_EX en el miembro DataBuffer del SRB.

Las características de expulsión, eliminación e instalación del dispositivo se establecen en la estructura STOR_DEVICE_CAPABILITIES_EX . Para admitir el uso de esta estructura, el miniport debe establecer la marca de STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES en el miembro de marcas FeatureSupport en HW_INITIALIZATION_DATA (SCSI) antes de llamar a ScsiPortInitialize.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Encabezado srb.h (incluya Storport.h, Minitape.h, Srb.h)

Consulte también

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA (SCSI)

SCSI_PNP_REQUEST_BLOCK

ScsiPortInitialize