次の方法で共有


IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)

この IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求は、データ・セット管理要求をストレージ・デバイスに送信するために使用されます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

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 である必要があります。

詳細については、「データセット管理の概要」を参照してください。

必要条件

要件 価値
ヘッダー ntddstor.h (Ntddstor.h を含む)
IRQL IRQL < DISPATCH_LEVEL (「解説」セクションを参照)。

関連項目

データセット管理の概要

DEVICE_DSM_ACTION 説明

DEVICE_DSM_INPUT

DEVICE_DSM_OUTPUT