次の方法で共有


IRP_MJ_SET_EA (FS およびフィルター ドライバー)

送信時

I/O マネージャーは IRP_MJ_SET_EA リクエストを送信して、ファイルの拡張属性を設定します。

操作: ファイル システム ドライバー

ファイル システムが拡張属性をサポートしている場合、ファイル システム ドライバーは要求を処理し、IRP を完了する必要があります。 それ以外の場合、ファイル システム ドライバーは返す必要があります。STATUS_EAS_NOT_SUPPORTED.

操作: レガシー ファイル システム フィルター ドライバー

フィルター ドライバーは、この IRP をスタック上の次に下位のドライバーに渡す必要があります。

パラメーター

ファイル システムまたはフィルター ドライバーは、指定された IRP で IoGetCurrentIrpStackLocation を呼び出して、IRP 内の独自のスタックの場所へのポインターを取得します。 次のパラメーターでは、IrpIRP を指し、IrpSpIO_STACK_LOCATION を指します。 ドライバーは、IRP の次のメンバーと IRP スタックの場所に設定されている情報を使用して、拡張属性の設定要求を処理できます。

  • DeviceObject ターゲット デバイス オブジェクトへのポインターです。

  • Irp->AssociatedIrp.SystemBuffer 設定する拡張属性情報を含むシステム提供の入力バッファーを指します。 METHOD_BUFFERED I/O に使用されます。

  • Irp->Ioステータス は、最終的な完了ステータスと要求された操作に関する情報を受け取る IO_STATUS_BLOCK構造体を指します。

  • Irp->MdlAddress拡張属性情報を受け取る入力バッファを記述するメモリ記述子リスト (MDL) のアドレスです。 METHOD_DIRECT I/O に使用されます。

  • Irp->UserBuffer 呼び出し元が指定したものを指します FILE_FULL_EA_INFORMATION-拡張属性情報を受け取る構造化入力バッファ。 METHOD_NEITHER I/O に使用されます。

  • IrpSp->FileObject は、DeviceObject に関連付けられているファイル オブジェクトを指します。

    IrpSp->FileObject パラメーターには、FILE_OBJECT構造体でもある RelatedFileObject フィールドへのポインターが含まれています。 RelatedFileObjectFILE_OBJECT 構造体のフィールドは、IRP_MJ_SET_EA の処理中は無効であるため、使用しないでください。

  • IrpSp->MajorFunction は IRP_MJ_SET_EA に設定されます。

  • IrpSp->Parameters.SetEa.Length 入力バッファーのバイト単位の長さです。

関連項目

FILE_FULL_EA_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoCheckEaBufferValidity

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_EA