STOR_DEVICE_CAPABILITIES構造体 (minitape.h)
STOR_DEVICE_CAPABILITIES 構造体は、SCSI 要求ブロック (SRB) 内の機能クエリに応答して、SRB_FUNCTION_PNPの関数を持つ Storport ドライバーにデバイスの機能を報告します。 STOR_DEVICE_CAPABILITIES は、ストレージ デバイスに関連するメンバーを含む DEVICE_CAPABILITIES 構造体のサブセットです。
構文
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;
メンバーズ
Version
構造体のバージョンを指定します。 Storport は、このフィールドをSTOR_DEVICE_CAPABILITIES_EX_VERSION_1に設定します。
DeviceD1
デバイス ハードウェアが D1 電源状態をサポートするかどうかを指定します。 ミニポート ドライバーは、このビットを 0 に設定します。
DeviceD2
デバイス ハードウェアが D2 電源状態をサポートするかどうかを指定します。 ミニポート ドライバーは、このビットを 0 に設定します。
LockSupported
デバイスがデバイスの排出を妨げる物理デバイス ロックをサポートするかどうかを指定します。 このメンバーは、LUN またはユニット デバイスの取り出しに関連します。
EjectSupported
システムが PowerSystemWorking 状態にある間に、デバイスがソフトウェア制御デバイスの放出をサポートするかどうかを指定します。 このメンバーは、LUN またはユニット デバイスの取り出しに関連します。
Removable
デバイスを直接の親から動的に削除できるかどうかを指定します。 リムーバブル TRUE 設定されている場合、デバイスは親と同じ物理オブジェクトに属していません。
リムーバブル TRUE に設定されている場合、デバイスは、SurpriseRemovalOK も TRUE 設定されていない限り、ハードウェアの取り外しまたは取り出しプログラムに表示されます。
DockDevice
デバイスがドッキング周辺機器かどうかを指定します。
UniqueID
デバイスのインスタンス ID がシステム全体で一意かどうかを指定します。 インスタンス ID がバスのスコープ内でのみ一意である場合、このビットは明確です。
SilentInstall
デバイス マネージャー すべてのインストール ダイアログ ボックスを非表示にするかどうかを指定します。必要なダイアログ ボックス ("互換性のあるドライバーが見つかりません" など) を除きます。
SurpriseRemovalOK
デバイスのミニポート ドライバーが、Storport が SCSI_PNP_REQUEST_BLOCK 構造体の PnPAction として StorRemoveDevice を使用してSRB_FUNCTION_PNPを送信する前に、デバイスが削除された場合を処理できるかどうかを指定します。 SurpriseRemovalOK が TRUE 設定されている場合、ドライバーの状態に関係なく、デバイスを直接の親から安全に削除できます。
NoDisplayInUI
ユーザー インターフェイスにデバイスを表示しないでください。 このビットが設定されている場合、デバイスが存在するが起動に失敗した場合でも、デバイスはユーザー インターフェイスに表示されません。 ミニポート ドライバーは、このビットを設定しません。
備考
ミニポート ドライバーは、SRB 関数がSRB_FUNCTION_PNPされている HwStorStartIo ルーチンで SRB を受信すると、SRB は SCSI_PNP_REQUEST_BLOCK 構造体として書式設定されます。 SRB の PnPAction メンバーが StorQueryCapabilities 場合、ミニポートは SRB の DataBuffer メンバーの STOR_DEVICE_CAPABILITIES 構造体を返すことができます。
Storport は、この構造体をミニポートに送信し、すべてのメンバーが 0 に初期化されます。 戻り値では、この構造体から リムーバブル フィールドのみが使用されます。
Windows 8 以降では、ミニポートは STOR_DEVICE_CAPABILITIES_EX 構造を使用して、追加機能のサポートを示す必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ヘッダー | minitape.h (Storport.h、Minitape.h、Srb.h を含む) |