Freigeben über


STOR_DEVICE_CAPABILITIES_EX-Struktur (minitape.h)

Die STOR_DEVICE_CAPABILITIES_EX-Struktur meldet Gerätefunktionen an den Storport-Treiber als Reaktion auf eine Funktionsabfrage in einem SCSI-Anforderungsblock (SRB) mit der Funktion SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES ist eine Teilmenge der DEVICE_CAPABILITIES-Struktur , die die für Speichergeräte relevanten Member 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. Storport legt dieses Feld auf STOR_DEVICE_CAPABILITIES_EX_VERSION_1 fest.

Size

Gibt die Größe der -Struktur an. Storport legt dieses Feld auf fest sizeof(STOR_DEVICE_CAPABILITIES_EX).

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 Sperren physischer Geräte unterstützt, die das Auswerfen des Geräts verhindern. Dieser Member bezieht sich auf das Auswerfen einer LUN oder eines Einheitsgeräts.

EjectSupported

Gibt an, ob das Gerät softwaregesteuerte Geräteauswurf unterstützt, während sich das System im PowerSystemWorking-Zustand befindet. Dieser Member 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, gehört das Gerät nicht zum gleichen physischen Objekt wie sein übergeordnetes Objekt.

Wenn Entfernbar auf TRUE festgelegt ist, wird das Gerät im Programm Hardware trennen oder auswerfen 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 antreiben kann, wenn kein Funktionstreiber vorhanden ist (z. B. SCSI-Geräte im Pass-Through-Modus). Dieser Vorgangsmodus wird als Unformatierter 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 Storport 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 auf 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 Speichereinheitsgeräts.

UINumber

Gibt eine Nummer an, die dem Gerät zugeordnet ist und 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 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 Auswurf-, 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 festlegen, bevor StorPortInitialize aufgerufen wird.

Anforderungen

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

Weitere Informationen

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATASCSI_PNP_REQUEST_BLOCK

StorPortInitialize