次の方法で共有


IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)

この IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求は、バンド管理下にあるストレージ デバイスのバンドの一覧を取得するために送信されます。 バンド情報は、バンドの場所とセキュリティ プロパティを含むバンド エントリのテーブルで返されます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

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 を含む)

こちらもご覧ください

BAND_TABLE

ENUMERATE_BANDS_PARAMETERS