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 |