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 フィールドには、次のいずれかの値が返されます。
状態の値 | 形容 |
---|---|
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 を含む) |
関連項目
ENUMERATE_BANDS_PARAMETERS