다음을 통해 공유


IRP_MJ_MDL_WRITE_COMPLETE 공용 구조체에 대한 FLT_PARAMETERS

다음 FLT_PARAMETERS 공용 구조체 멤버는 FLT_IO_PARAMETER_BLOCK 때 사용됩니다. MajorFunction 이 IRP_MJ_MDL_WRITE_COMPLETE.

구문

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    LARGE_INTEGER FileOffset;
    PMDL          MdlChain;
  } MdlWriteComplete;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

멤버

  • MdlWriteComplete: 다음 멤버를 포함하는 구조체입니다.

  • FileOffset: 캐시된 파일 내에서 바이트를 시작합니다.

  • MdlChain: 캐시된 파일에 쓸 데이터가 포함된 페이지를 설명하는 하나 이상의 MDL(메모리 설명자 목록) 체인에 대한 포인터를 받는 변수에 대한 포인터입니다.

설명

IRP_MJ_MDL_WRITE_COMPLETE 빠른 I/O 작업입니다. 다음 차이점을 제외하고 IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL 동일한 작업을 수행합니다.

  • IRP 기반 작업은 MDL 작업을 수행하기 전에 아직 캐시되지 않은 경우 파일에 대한 캐싱을 설정합니다.
  • 파일이 아직 캐시되지 않은 경우 빠른 IO 작업이 실패합니다.

IRP_MJ_MDL_WRITE_COMPLETE 작업에 대한 FLT_PARAMETERS 구조에는 빠른 I/O MdlWriteComplete 작업에 대한 매개 변수가 포함됩니다. 이 작업은 Iopb이 가리키는 FLT_IO_PARAMETER_BLOCK 구조에서 작업의 매개 변수를 사용하여 콜백 데이터(FLT_CALLBACK_DATA) 구조체로 표시됩니다.

빠른 I/O IRP_MJ_MDL_WRITE_COMPLETE 요청이 실패하면 I/O의 발급자에서 요청을 다시 발행하는 방법을 결정합니다. 예를 들어 요청은 IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL 사용하여 IRP 기반 작업으로 재발행될 수 있습니다.

요구 사항

요구 사항 유형 요건
헤더 Fltkernel.h(Fltkernel.h 포함)

참고 항목

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS