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