IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)
この IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求は、データ セット管理要求をストレージ デバイスに送信するために使用されます。
メジャー コード
[入力バッファー]
Irp-AssociatedIrp.SystemBuffer> のバッファーには、DEVICE_DSM_INPUT構造体が含まれています。 この構造体の Action メンバーによっては、入力バッファーにパラメーター ブロックとデータ セット範囲のブロックも含まれる場合があります。 考えられるすべてのアクションの説明については、「 DEVICE_DSM_ACTION 説明」を参照してください。
入力バッファーの長さ
IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、少なくとも sizeof(DEVICE_DSM_INPUT) である必要があります。
出力バッファー
DEVICE_DSM_INPUTの Action メンバーに設定されている値に応じて、要求は Irp-AssociatedIrp.SystemBuffer> のバッファー内のデータを返す場合があります。 DSM 操作が出力と Parameters.DeviceIoControl.OutputBufferLength> 0 を返す場合、システム バッファーには有効なDEVICE_DSM_OUTPUT データが含まれます。 アクションによっては、出力バッファーに出力ブロックも含まれる場合があります。
出力バッファーの長さ
出力バッファーの長さ (バイト単位)。 出力が返される場合、出力バッファーは少なくとも sizeof(DEVICE_DSM_OUTPUT) である必要があります。
ステータス ブロック
[状態] フィールドは、STATUS_SUCCESSに設定することも、場合によっては、STATUS_INVALID_DEVICE_REQUEST、STATUS_BUFFER_TOO_SMALL、STATUS_BUFFER_OVERFLOW、またはその他のエラー状態に設定することもできます。
注釈
記憶域ドライバー スタックによるメモリ プールの要件により、この IOCTL を含む IRP の完了は IRQL < DISPATCH_LEVELである必要があります。
詳細については、「 データ セット管理の概要 」を参照してください。
要件
要件 | 値 |
---|---|
Header | ntddstor.h (Ntddstor.h を含む) |
IRQL | IRQL < DISPATCH_LEVEL (「解説」セクションを参照)。 |