STOR_DEVICE_CAPABILITIES-Struktur (storport.h)
Die STOR_DEVICE_CAPABILITIES-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 {
USHORT Version;
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 SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;
Member
Version
Gibt die Version der -Struktur an. Von Storport auf STOR_DEVICE_CAPABILITIES_EX_VERSION_1 festgelegt.
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".
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.
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-Struktur im DataBuffer-Member des SRB zurückgeben.
Storport sendet diese Struktur an den Miniport, wobei alle Member auf 0 initialisiert sind. Bei der Rückgabe wird nur das Wechselbare Feld aus dieser Struktur verwendet.
Ab Windows 8 sollten Miniports die STOR_DEVICE_CAPABILITIES_EX-Struktur verwenden, um die Unterstützung für zusätzliche Funktionen anzugeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Kopfzeile | storport.h (einschließlich Storport.h, Minitape.h, Srb.h) |