FAST_IO_DISPATCH 구조체(wdm.h)

파일 시스템 드라이버 또는 파일 시스템 필터 드라이버(레거시)가 빠른 I/O 처리를 위해 제공하는 콜백 루틴 집합을 포함합니다.

구문

typedef struct _FAST_IO_DISPATCH {
  ULONG                                  SizeOfFastIoDispatch;
  PFAST_IO_CHECK_IF_POSSIBLE             FastIoCheckIfPossible;
  PFAST_IO_READ                          FastIoRead;
  PFAST_IO_WRITE                         FastIoWrite;
  PFAST_IO_QUERY_BASIC_INFO              FastIoQueryBasicInfo;
  PFAST_IO_QUERY_STANDARD_INFO           FastIoQueryStandardInfo;
  PFAST_IO_LOCK                          FastIoLock;
  PFAST_IO_UNLOCK_SINGLE                 FastIoUnlockSingle;
  PFAST_IO_UNLOCK_ALL                    FastIoUnlockAll;
  PFAST_IO_UNLOCK_ALL_BY_KEY             FastIoUnlockAllByKey;
  PFAST_IO_DEVICE_CONTROL                FastIoDeviceControl;
  PFAST_IO_ACQUIRE_FILE                  AcquireFileForNtCreateSection;
  PFAST_IO_RELEASE_FILE                  ReleaseFileForNtCreateSection;
  PFAST_IO_DETACH_DEVICE                 FastIoDetachDevice;
  PFAST_IO_QUERY_NETWORK_OPEN_INFO       FastIoQueryNetworkOpenInfo;
  PFAST_IO_ACQUIRE_FOR_MOD_WRITE         AcquireForModWrite;
  PFAST_IO_MDL_READ                      MdlRead;
  PFAST_IO_MDL_READ_COMPLETE             MdlReadComplete;
  PFAST_IO_PREPARE_MDL_WRITE             PrepareMdlWrite;
  PFAST_IO_MDL_WRITE_COMPLETE            MdlWriteComplete;
  PFAST_IO_READ_COMPRESSED               FastIoReadCompressed;
  PFAST_IO_WRITE_COMPRESSED              FastIoWriteCompressed;
  PFAST_IO_MDL_READ_COMPLETE_COMPRESSED  MdlReadCompleteCompressed;
  PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;
  PFAST_IO_QUERY_OPEN                    FastIoQueryOpen;
  PFAST_IO_RELEASE_FOR_MOD_WRITE         ReleaseForModWrite;
  PFAST_IO_ACQUIRE_FOR_CCFLUSH           AcquireForCcFlush;
  PFAST_IO_RELEASE_FOR_CCFLUSH           ReleaseForCcFlush;
} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;

멤버

SizeOfFastIoDispatch

sizeof(FAST_IO_DISPATCH)로 설정합니다.

FastIoCheckIfPossible

읽기 또는 쓰기 작업에 대해 빠른 I/O가 가능한지 확인하는 콜백 루틴에 대한 포인터입니다.

FastIoRead

IRP 읽기 경로를 무시하고 빠르게 캐시된 읽기를 수행하는 콜백 루틴에 대한 포인터입니다. 캐시된 파일 개체에 대해 복사본 읽기를 수행하는 데 사용됩니다.

FastIoWrite

IRP 쓰기 경로를 무시하고 빠른 캐시된 쓰기를 수행하는 콜백 루틴에 대한 포인터입니다. 캐시된 파일 개체에 대한 복사 쓰기를 수행하는 데 사용됩니다.

FastIoQueryBasicInfo

기본 파일 정보의 빠른 쿼리를 위한 콜백 루틴에 대한 포인터입니다.

FastIoQueryStandardInfo

표준 파일 정보의 빠른 쿼리를 위한 콜백 루틴에 대한 포인터입니다.

FastIoLock

파일 개체에 대한 빠른 잠금을 수행하기 위한 콜백 루틴에 대한 포인터입니다.

FastIoUnlockSingle

파일 개체에서 단일 잠금을 빠르게 해제하기 위한 콜백 루틴에 대한 포인터입니다.

FastIoUnlockAll

파일 개체에 보관된 모든 잠금을 빠르게 해제하기 위한 콜백 루틴에 대한 포인터입니다.

FastIoUnlockAllByKey

키로 그룹화된 모든 잠금의 빠른 릴리스를 수행하기 위한 콜백 루틴에 대한 포인터입니다.

FastIoDeviceControl

빠른 디바이스 제어 처리를 위한 콜백 루틴에 대한 포인터입니다.

AcquireFileForNtCreateSection

메모리 관리자가 단독으로 파일을 획득하는 데 사용하는 콜백 루틴에 대한 포인터입니다.

ReleaseFileForNtCreateSection

메모리 관리자가 이전에 획득한 파일을 해제하는 데 사용하는 콜백 루틴에 대한 포인터입니다.

FastIoDetachDevice

삭제 중인 디바이스 개체에서 현재 디바이스 개체를 분리하기 위해 호출되는 콜백 루틴에 대한 포인터입니다.

FastIoQueryNetworkOpenInfo

네트워크 파일 정보의 빠른 쿼리를 위한 콜백 루틴에 대한 포인터입니다.

AcquireForModWrite

수정된 페이지 작성기에서 획득해야 하는 파일 시스템 리소스를 결정하고 가능하면 획득하는 콜백 루틴에 대한 포인터입니다.

MdlRead

빠른 캐시된 MDL 읽기를 수행하는 콜백 루틴에 대한 포인터로, IRP 읽기 경로를 무시합니다. 캐시된 파일 개체에 대해 복사본 읽기를 수행하는 데 사용됩니다.

MdlReadComplete

MDL 읽기의 빠른 완료를 수행하는 콜백 루틴에 대한 포인터입니다.

PrepareMdlWrite

빠른 캐시된 MDL 쓰기를 수행하는 콜백 루틴에 대한 포인터로, IRP 쓰기 경로를 무시합니다. 캐시된 파일 개체에 대한 복사 쓰기를 수행하는 데 사용됩니다.

MdlWriteComplete

MDL 쓰기를 빠르게 완료하는 콜백 루틴에 대한 포인터입니다.

FastIoReadCompressed

파일에서 빠르게 압축된 데이터 읽기를 수행하는 콜백 루틴에 대한 포인터입니다.

FastIoWriteCompressed

파일에 빠르게 압축된 데이터 쓰기를 수행하는 콜백 루틴에 대한 포인터입니다.

MdlReadCompleteCompressed

파일에서 빠른 MDL 압축 데이터 읽기를 완료하는 콜백 루틴에 대한 포인터입니다.

MdlWriteCompleteCompressed

파일에 대한 빠른 MDL 압축 데이터 쓰기를 완료하는 콜백 루틴에 대한 포인터입니다.

FastIoQueryOpen

경로 기반 쿼리에 대해 빠른 열기를 구현하는 콜백 루틴에 대한 포인터입니다.

ReleaseForModWrite

이 루틴은 수정된 페이지 쓰기에 대해 이전에 획득한 파일 시스템 리소스를 해제합니다.

AcquireForCcFlush

캐시 플러시 전에 파일 시스템 리소스를 획득하는 콜백 루틴에 대한 포인터입니다.

ReleaseForCcFlush

캐시 플러시에 대해 이전에 획득한 파일 시스템 리소스를 해제하는 콜백 루틴에 대한 포인터입니다.

요구 사항

요구 사항
헤더 wdm.h