次の方法で共有


STOR_DEVICE_CAPABILITIES_EX構造体 (minitape.h)

STOR_DEVICE_CAPABILITIES_EX 構造体は、SCSI 要求ブロック (SRB) の機能クエリに応答して、SRB_FUNCTION_PNPの機能を Storport ドライバーに報告します。 STOR_DEVICE_CAPABILITIES は、ストレージ デバイスに関連するメンバーを含む DEVICE_CAPABILITIES 構造体のサブセットです。

構文

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;

メンバーズ

Version

構造体のバージョンを指定します。 Storport は、このフィールドをSTOR_DEVICE_CAPABILITIES_EX_VERSION_1に設定します。

Size

構造体のサイズを指定します。 Storport は、このフィールドを sizeof(STOR_DEVICE_CAPABILITIES_EX)に設定します。

DeviceD1

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

DeviceD2

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

LockSupported

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

EjectSupported

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

Removable

デバイスを直接の親から動的に削除できるかどうかを指定します。 リムーバブル TRUE 設定されている場合、デバイスは親と同じ物理オブジェクトに属していません。

リムーバブル TRUE に設定されている場合、デバイスは、SurpriseRemovalOK も TRUE 設定されていない限り、ハードウェアの取り外しまたは取り出しプログラムに表示されます。

DockDevice

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

UniqueID

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

SilentInstall

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

RawDeviceOK

ファンクション ドライバーがない場合に、基になるバスのドライバーがデバイスを駆動できるかどうかを指定します (たとえば、パススルー モードの SCSI デバイス)。 この操作モードは生モードと呼ばれます。

SurpriseRemovalOK

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

NoDisplayInUI

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

DefaultWriteCacheEnabled

ストレージ デバイスの書き込みキャッシュは、初期化時に既定で有効になっています。

Reserved0

予約済みビット。

Address

ストレージ ユニット デバイスの LUN アドレス。

UINumber

ユーザー インターフェイスに表示できるデバイスに関連付けられている番号を指定します。

この数値は、ユーザーが物理デバイスを簡単に見つけられるように選択された ID 値である可能性があります。 UINumber が不明な場合、ミニポート ドライバーは、このメンバーを既定値の0xFFFFFFFFに設定できます。

Reserved1[2]

予約済みビット。

備考

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

デバイスの取り出し、取り外し、および取り付けの特性は、STOR_DEVICE_CAPABILITIES_EX 構造で設定されます。 この構造体の使用をサポートするには、ミニポートが StorPortInitialize STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIESを呼び出す前に、HW_INITIALIZATION_DATAFeatureSupport フラグ メンバーでフラグを設定する必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
ヘッダー minitape.h (Storport.h、Minitape.h、Srb.h を含む)

関連項目

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATASCSI_PNP_REQUEST_BLOCK

StorPortInitialize