Freigeben über


STOR_DEVICE_CAPABILITIES_EX-Struktur (srb.h)

Die STOR_DEVICE_CAPABILITIES_EX-Struktur meldet Gerätefunktionen an den SCSI-Porttreiber als Reaktion auf eine Funktionsabfrage in einem SCSI-Anforderungsblock (SRB) mit einer Funktion von SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES ist eine Teilmenge der DEVICE_CAPABILITIES-Struktur , die die für Speichergeräte relevanten Elemente enthält.

Syntax

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;

Member

Version

Gibt die Version der Struktur an. Legen Sie von Storport auf STOR_DEVICE_CAPABILITIES_EX_VERSION_1 fest.

Size

Gibt die Größe der Struktur an. Legen Sie von Storport auf sizeof(STOR_DEVICE_CAPABILITIES_EX) fest.

DeviceD1

Gibt an, ob die Gerätehardware den D1-Energiezustand unterstützt. Miniporttreiber legen dieses Bit auf 0 fest.

DeviceD2

Gibt an, ob die Gerätehardware den D2-Energiezustand unterstützt. Miniporttreiber legen dieses Bit auf 0 fest.

LockSupported

Gibt an, ob das Gerät physische Gerätesperre unterstützt, die den Auswurf des Geräts verhindert. Dieses Element bezieht sich auf das Auswerfen einer LUN oder eines Einheitsgeräts.

EjectSupported

Gibt an, ob das Gerät den softwaregesteuerten Geräteauswurf unterstützt, während sich das System im PowerSystemWorking-Zustand befindet. Dieses Element bezieht sich auf das Auswerfen einer LUN oder eines Einheitsgeräts.

Removable

Gibt an, ob das Gerät dynamisch aus dem unmittelbaren übergeordneten Element entfernt werden kann. Wenn Entfernbar auf TRUE festgelegt ist:

  • Das Gerät gehört nicht zum gleichen physischen Objekt wie sein übergeordnetes Objekt.
  • Das Gerät wird im Programm "Deplug" oder "Eject Hardware" angezeigt, es sei denn , SurpriseRemovalOK ist ebenfalls auf TRUE festgelegt.

DockDevice

Gibt an, ob es sich bei dem Gerät um ein Docking-Peripheriegerät handelt.

UniqueID

Gibt an, ob die instance-ID des Geräts systemweit eindeutig ist. Dieses Bit ist eindeutig, wenn die instance-ID nur innerhalb des Busbereichs eindeutig ist.

SilentInstall

Gibt an, ob Geräte-Manager alle Installationsdialogfelder unterdrücken soll; mit Ausnahme erforderlicher Dialogfelder wie "Keine kompatiblen Treiber gefunden".

RawDeviceOK

Gibt an, ob der Treiber für den zugrunde liegenden Bus das Gerät ansteuern kann, wenn kein Funktionstreiber vorhanden ist (z. B. SCSI-Geräte im Passthroughmodus). Dieser Vorgangsmodus wird als roher Modus bezeichnet.

SurpriseRemovalOK

Gibt an, ob der Miniporttreiber für das Gerät den Fall verarbeiten kann, in dem das Gerät entfernt wird, bevor der SCSI-Port SRB_FUNCTION_PNP mit StorRemoveDevice als PnPAction in der SCSI_PNP_REQUEST_BLOCK-Struktur senden kann. Wenn SurpriseRemovalOK auf TRUE festgelegt ist, kann das Gerät unabhängig vom Zustand des Treibers sicher aus dem unmittelbaren übergeordneten Element entfernt werden.

NoDisplayInUI

Zeigen Sie das Gerät nicht in der Benutzeroberfläche an. Wenn dieses Bit festgelegt ist, wird das Gerät nie in der Benutzeroberfläche angezeigt, auch wenn das Gerät vorhanden ist, aber nicht gestartet werden kann. Miniporttreiber legen dieses Bit nicht fest.

DefaultWriteCacheEnabled

Der Schreibcache des Speichergeräts ist bei der Initialisierung standardmäßig aktiviert.

Reserved0

Reservierte Bits.

Address

LUN-Adresse des Speichergeräts.

UINumber

Gibt eine Dem Gerät zugeordnete Zahl an, die auf der Benutzeroberfläche angezeigt werden kann.

Diese Nummer kann ein ID-Wert sein, der ausgewählt wurde, um die Suche nach dem physischen Gerät für den Benutzer zu erleichtern. Wenn die UINumber unbekannt ist, kann der Miniporttreiber diesen Member auf den Standardwert 0xFFFFFFFF festlegen.

Reserved1[2]

Reservierte Bits.

Hinweise

Wenn ein Miniporttreiber einen SRB in seiner HwStorStartIo-Routine empfängt, in der die SRB-Funktion SRB_FUNCTION_PNP ist, wird der SRB als SCSI_PNP_REQUEST_BLOCK-Struktur formatiert. Wenn das PnPAction-Element des SRB StorQueryCapabilities ist, kann der Miniport eine STOR_DEVICE_CAPABILITIES_EX Struktur im DataBuffer-Member des SRB zurückgeben.

Die Auswerf-, Entfernungs- und Installationseigenschaften für das Gerät werden in der STOR_DEVICE_CAPABILITIES_EX-Struktur festgelegt. Um die Verwendung dieser Struktur zu unterstützen, muss der Miniport das STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES-Flag im FeatureSupport-Flags-Member in HW_INITIALIZATION_DATA (SCSI) festlegen, bevor ScsiPortInitialize aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Kopfzeile srb.h (einschließlich Storport.h, Minitape.h, Srb.h)

Weitere Informationen

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA (SCSI)

SCSI_PNP_REQUEST_BLOCK

ScsiPortInitialize