Condividi tramite


struttura STOR_DEVICE_CAPABILITIES_EX (srb.h)

La struttura STOR_DEVICE_CAPABILITIES_EX segnala le funzionalità del dispositivo al driver di porta SCSI in risposta a una query sulle funzionalità in un blocco di richieste SCSI (SRB) con una funzione di SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES è un subset della struttura di DEVICE_CAPABILITIES contenente i membri rilevanti per i dispositivi di archiviazione.

Sintassi

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;

Membri

Version

Specifica la versione della struttura. Impostare su STOR_DEVICE_CAPABILITIES_EX_VERSION_1 da Storport.

Size

Specifica le dimensioni della struttura. Impostare su sizeof(STOR_DEVICE_CAPABILITIES_EX) di Storport.

DeviceD1

Specifica se l'hardware del dispositivo supporta lo stato di alimentazione D1. I driver Miniport impostano questo bit su 0.

DeviceD2

Specifica se l'hardware del dispositivo supporta lo stato di alimentazione D2. I driver Miniport impostano questo bit su 0.

LockSupported

Specifica se il dispositivo supporta il blocco fisico del dispositivo che impedisce l'espulsione del dispositivo. Questo membro riguarda l'espellezione di un LUN o di un dispositivo di unità.

EjectSupported

Specifica se il dispositivo supporta l'eiezione di dispositivi controllati dal software mentre il sistema si trova nello stato PowerSystemWorking. Questo membro riguarda l'espellezione di un dispositivo LUN o unità.

Removable

Specifica se il dispositivo può essere rimosso dinamicamente dal relativo elemento padre immediato. Se rimovibile è impostato su TRUE:

  • Il dispositivo non appartiene allo stesso oggetto fisico del relativo elemento padre.
  • Il dispositivo viene visualizzato nel programma Unplug o Eject Hardware, a meno che SurpriseRemovalOK sia impostato anche su TRUE.

DockDevice

Specifica se il dispositivo è una periferica di ancoraggio.

UniqueID

Specifica se l'ID istanza del dispositivo è univoco a livello di sistema. Questo bit è chiaro se l'ID istanza è univoco solo nell'ambito del bus.

SilentInstall

Specifica se gestione dispositivi deve eliminare tutte le finestre di dialogo di installazione; ad eccezione delle finestre di dialogo richieste, ad esempio "nessun driver compatibile trovato".

RawDeviceOK

Specifica se il driver per il bus sottostante può guidare il dispositivo se non è presente alcun driver di funzione(ad esempio, dispositivi SCSI in modalità pass-through). Questa modalità di operazione è denominata modalità non elaborata.

SurpriseRemovalOK

Specifica se il driver miniport per il dispositivo può gestire il caso in cui il dispositivo venga rimosso prima che la porta SCSI possa inviare SRB_FUNCTION_PNP con StorRemoveDevice come PnPAction nella struttura SCSI_PNP_REQUEST_BLOCK. Se SurpriseRemovalOK è impostato su TRUE, il dispositivo può essere rimosso dal relativo elemento padre immediato indipendentemente dallo stato in cui si trova il driver.

NoDisplayInUI

Non visualizzare il dispositivo nell'interfaccia utente. Se questo bit è impostato, il dispositivo non viene mai visualizzato nell'interfaccia utente, anche se il dispositivo è presente ma non viene avviato. I driver Miniport non impostano questo bit.

DefaultWriteCacheEnabled

La cache di scrittura del dispositivo di archiviazione è abilitata per impostazione predefinita all'inizializzazione.

Reserved0

Bit riservati.

Address

Indirizzo LUN del dispositivo di unità di archiviazione.

UINumber

Specifica un numero associato al dispositivo che può essere visualizzato nell'interfaccia utente.

Questo numero potrebbe essere un valore ID scelto per facilitare l'individuazione del dispositivo fisico per l'utente. Quando il UINumber è sconosciuto, il driver miniport può impostare questo membro sul valore predefinito di 0xFFFFFFFF.

Reserved1[2]

Bit riservati.

Osservazioni

Quando un driver miniport riceve un SRB nel relativo HwStorStartIo routine in cui la funzione SRB è SRB_FUNCTION_PNP, la struttura SRB viene formattata come struttura SCSI_PNP_REQUEST_BLOCK. Se il membro PnPAction di SRB è StorQueryCapabilities, il miniport può restituire una struttura STOR_DEVICE_CAPABILITIES_EX nel DataBuffer membro di SRB.

Le caratteristiche di rimozione, rimozione e installazione del dispositivo vengono impostate nella struttura STOR_DEVICE_CAPABILITIES_EX. Per supportare l'uso di questa struttura, il miniport deve impostare il flag di STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES nel membro FeatureSupport flag in HW_INITIALIZATION_DATA (SCSI) prima di chiamare ScsiPortInitialize.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
intestazione srb.h (include Storport.h, Minitape.h, Srb.h)

Vedere anche

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA (SCSI)

SCSI_PNP_REQUEST_BLOCK

ScsiPortInitialize