STOR_DEVICE_CAPABILITIES 構造体 (srb.h)

STOR_DEVICE_CAPABILITIES構造体は、SCSI 要求ブロック (SRB) の機能クエリに応答して、デバイスの機能を SCSI ポート ドライバーに報告し、SRB_FUNCTION_PNPの関数を使用します。 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

構造体のバージョンを指定します。 SCSI ポートでSTOR_DEVICE_CAPABILITIES_EX_VERSION_1に設定します。

DeviceD1

デバイス ハードウェアが D1 電源状態をサポートするかどうかを指定します。 ミニポート ドライバーは、このビットを 0 に設定します。

DeviceD2

デバイス ハードウェアが D2 電源状態をサポートするかどうかを指定します。 ミニポート ドライバーは、このビットを 0 に設定します。

LockSupported

デバイスがデバイスの取り出しを禁止する物理デバイスのロックをサポートするかどうかを指定します。 このメンバーは、LUN またはユニット デバイスの取り出しに関連します。

EjectSupported

システムが PowerSystemWorking 状態の間に、デバイスがソフトウェア制御デバイスの排出をサポートするかどうかを指定します。 このメンバーは、LUN またはユニット デバイスの取り出しに関連します。

Removable

デバイスを直接の親から動的に削除できるかどうかを指定します。 [リムーバブル] が TRUE に設定されている場合:

  • デバイスは、その親と同じ物理オブジェクトに属していません。
  • SurpriseRemovalOK も TRUE に設定されていない限り、デバイスは [ハードウェアの取り外しまたは取り出し] プログラムに表示されます。

DockDevice

デバイスがドッキング周辺機器であるかどうかを指定します。

UniqueID

デバイスのインスタンス ID がシステム全体で一意であるかどうかを指定します。 インスタンス ID がバスのスコープ内でのみ一意である場合、このビットは明確です。

SilentInstall

"互換性のあるドライバーが見つかりません" などの必要なダイアログ ボックスを除き、デバイス マネージャーすべてのインストール ダイアログ ボックスを非表示にするかどうかを指定します。

SurpriseRemovalOK

SCSI ポートがSCSI_PNP_REQUEST_BLOCK構造体のPnPAction として StorRemoveDevice を使用してSRB_FUNCTION_PNPを送信する前に、デバイスのミニポート ドライバーがデバイスが削除されたケースを処理できるかどうかを指定します。 SurpriseRemovalOKTRUE に設定されている場合、ドライバーの状態に関係なく、デバイスを直接の親から安全に削除できます。

NoDisplayInUI

ユーザー インターフェイスにデバイスを表示しないでください。 このビットが設定されている場合、デバイスが存在するが起動に失敗した場合でも、デバイスはユーザー インターフェイスに表示されません。 ミニポート ドライバーは、このビットを設定しません。

注釈

ミニポート ドライバーは、 その HwStorStartIo ルーチンで SRB を受け取る場合、SRB 関数がSRB_FUNCTION_PNP、SRB は 、SCSI_PNP_REQUEST_BLOCK 構造体として書式設定されます。 SRB の PnPAction メンバーが StorQueryCapabilities の場合、ミニポートは SRB の DataBuffer メンバーでSTOR_DEVICE_CAPABILITIES構造体を返すことができます。

SCSI ポートは、すべてのメンバーが 0 に初期化されたミニポートにこの構造体を送信します。

Windows 8以降、ミニポートでは、追加機能のサポートを示すためにSTOR_DEVICE_CAPABILITIES_EX構造を使用する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista 以降で使用できます。
Header srb.h (Storport.h、Minitape.h、Srb.h を含む)

こちらもご覧ください

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX