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 einer Funktion von SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES ist eine Teilmenge der DEVICE_CAPABILITIES Struktur, die die elemente enthält, die für Speichergeräte relevant sind.

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;

Angehörige

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 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-Leistungszustand unterstützt. Miniporttreiber legen dieses Bit auf 0 fest.

LockSupported

Gibt an, ob das Gerät physische Sperrung unterstützt, die die Geräteauswurfsfunktion verhindert. Dieses Element 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. Dieses Element bezieht sich auf das Auswerfen eines LUN- oder Einheitengeräts.

Removable

Gibt an, ob das Gerät dynamisch aus dem unmittelbaren übergeordneten Element entfernt werden kann. Wenn Wechselmedien auf TRUEfestgelegt ist, gehört das Gerät nicht zum gleichen physischen Objekt wie das übergeordnete Objekt.

Wenn Wechselmedien auf TRUEfestgelegt ist, wird das Gerät im Programm "Trennen" oder "Eject Hardware" angezeigt, es sei denn, SurpriseRemovalOK- ist auch auf TRUEfestgelegt.

DockDevice

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

UniqueID

Gibt an, ob die Instanz-ID des Geräts systemweit eindeutig ist. Dieses Bit ist klar, wenn die Instanz-ID nur innerhalb des Bereichs des Busses eindeutig ist.

SilentInstall

Gibt an, ob Geräte-Manager- alle Installationsdialogfelder unterdrücken soll; außer erforderlichen Dialogfeldern, z. B. "Keine kompatiblen Treiber gefunden".

RawDeviceOK

Gibt an, ob der Treiber für den zugrunde liegenden Bus das Gerät steuern 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 TRUEfestgelegt ist, kann das Gerät unabhängig vom Zustand, in dem sich der Treiber befindet, sicher von seinem 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 auf 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, das auf der Benutzeroberfläche angezeigt werden kann.

Diese Zahl kann ein ID-Wert sein, der ausgewählt wird, um die Suche nach dem physischen Gerät für den Benutzer zu vereinfachen. Wenn die UINumber- unbekannt ist, kann der Miniporttreiber dieses Element auf den Standardwert 0xFFFFFFFF festlegen.

Reserved1[2]

Reservierte Bits.

Bemerkungen

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 Mitglied des SRB StorQueryCapabilitiesist, kann der Miniport eine STOR_DEVICE_CAPABILITIES_EX Struktur im DataBuffer- Mitglied des SRB zurückgeben.

Das Auswerfen, Entfernen und Installieren von Merkmalen für das Gerät wird 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-element flags member in HW_INITIALIZATION_DATA festlegen, bevor StorPortInitializeaufgerufen wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
Header- minitape.h (include Storport.h, Minitape.h, Srb.h)

Siehe auch

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATASCSI_PNP_REQUEST_BLOCK

StorPortInitialize