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) |