IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)
この IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求は、バンド管理下にあるストレージ デバイスのバンドの一覧を取得するために送信されます。 バンド情報は、バンドの場所とセキュリティ プロパティを含むバンド エントリのテーブルで返されます。
メジャー コード
[入力バッファー]
Irp-AssociatedIrp.SystemBuffer の>バッファーには、ENUMERATE_BANDS_PARAMETERS構造体が含まれている必要があります。
入力バッファーの長さ
Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、少なくとも sizeof (ENUMERATE_BANDS_PARAMETERS) である必要があります。
出力バッファー
Irp-AssociatedIrp.SystemBuffer> のバッファーには、BAND_TABLE構造体の後に BandTableEntryCount バンド エントリが含まれています。
出力バッファーの長さ
BAND_TABLE構造体の長さと BandTableEntryCount バンド エントリ。
ステータス ブロック
[情報] フィールドには、出力バッファーに返されるバイト数が含まれます。 [状態] フィールドには、次のいずれかの値を返すことができます。
状態の値 | 説明 |
---|---|
STATUS_SUCCESS | ストレージ デバイスのセキュリティ機能が非アクティブ化されました。 |
STATUS_INVALID_DEVICE_REQUEST | ストレージ デバイスは、バンド管理をサポートしていません。 |
STATUS_INVALID_BUFFER_SIZE | 入力バッファー サイズが無効です。 |
STATUS_INVALID_PARAMETER | 入力バッファー内の情報が無効です。 |
STATUS_NOT_FOUND | 指定された列挙パラメーターに対してバンドは構成されません。 |
STATUS_BUFFER_OVERFLOW | バッファーが指定されていないか、そのサイズが 0 に設定されています。 必要なサイズが [情報 ] フィールドに返されます。 |
STATUS_IO_DEVICE_ERROR | 通信に失敗しました。 ストレージ デバイスがセキュリティ プロトコルと互換性がない可能性があります。 |
STATUS_BUFFER_TOO_SMALL | 指定された出力バッファーは、返される出力データを保持するのに十分な大きさではありません。 |
注釈
ドライバーまたはアプリケーションは、要求の出力バッファーを NULL に設定し、出力サイズを 0 に設定することで、必要な出力バッファー サイズを照会できます。 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS要求は、IoStatus ブロックの Status フィールドを STATUS_BUFFER_OVERFLOW に設定して返され、Information フィールドには必要なバッファー サイズが含まれます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降で使用できます。 |
Header | ehstorbandmgmt.h (EhStorBandMgmt.h を含む) |
こちらもご覧ください
ENUMERATE_BANDS_PARAMETERS