次の方法で共有


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 フィールドには、次のいずれかの値が返されます。

状態の値 形容
STATUS_SUCCESS ストレージ デバイスのセキュリティ機能が非アクティブ化されました。
STATUS_INVALID_DEVICE_REQUEST ストレージ デバイスは、バンド管理をサポートしていません。
STATUS_INVALID_BUFFER_SIZE 入力バッファー サイズが無効です。
STATUS_INVALID_PARAMETER 入力バッファー内の情報が無効です。
STATUS_NOT_FOUND 指定された列挙パラメーターに対してバンドは構成されていません。
STATUS_BUFFER_OVERFLOW バッファーが指定されていないか、そのサイズが 0 に設定されています。 必要なサイズは、Information フィールドに返されます。
STATUS_IO_DEVICE_ERROR 通信に失敗しました。 ストレージ デバイスがセキュリティ プロトコルと互換性がない可能性があります。
STATUS_BUFFER_TOO_SMALL 指定された出力バッファーは、返される出力データを保持するのに十分な大きさではありません。

備考

ドライバーまたはアプリケーションは、要求の出力バッファーを NULL に設定し、出力サイズを 0 に設定することで、必要な出力バッファー サイズを照会できます。 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求は、IoStatus ブロックの Status フィールドを STATUS_BUFFER_OVERFLOW に設定して返され、Information フィールドには必要なバッファー サイズが含まれます。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ヘッダー ehstorbandmgmt.h (EhStorBandMgmt.h を含む)

関連項目

BAND_TABLE

ENUMERATE_BANDS_PARAMETERS