디바이스 개체 플래그를 준수하는 I/O 작업 IRP-Based
다음 IRP 기반 I/O 작업에 대한 버퍼링 메서드는 파일 시스템 볼륨에 대한 DEVICE_OBJECT 구조체의 Flags 멤버 값에 따라 결정됩니다.
IRP_MJ_DIRECTORY_CONTROL
IRP_MJ_QUERY_EA
IRP_MJ_QUERY_QUOTA
IRP_MJ_READ
IRP_MJ_SET_EA
IRP_MJ_SET_QUOTA
IRP_MJ_WRITE
Flags 멤버의 DO_BUFFERED_IO 및 DO_DIRECT_IO 플래그 는 다음과 같이 사용됩니다.
DO_BUFFERED_IO 플래그가 설정된 경우 작업은 버퍼링된 I/O를 사용합니다.
DO_DIRECT_IO 플래그가 설정되고 DO_BUFFERED_IO 플래그가 설정되지 않은 경우 작업은 직접 I/O를 사용합니다.
두 플래그가 모두 설정되지 않은 경우 작업은 버퍼링되거나 직접 I/O를 사용하지 않습니다.
디바이스 개체 플래그에 대한 자세한 내용은 DEVICE_OBJECT 및 디바이스 개체 초기화를 참조하세요.
IRP_MJ_READ 및 IRP_MJ_WRITE IRP 기반 또는 빠른 I/O 작업일 수 있습니다. IRP 기반인 경우 버퍼링 메서드는 위에서 설명한 대로 디바이스 개체 플래그에 의해 결정됩니다. 이러한 작업이 빠른 I/O인 경우 항상 버퍼링되거나 직접 I/O를 사용하지 않습니다. IRP 기반 또는 빠른 I/O 작업일 수 있는 I/O 작업에 대한 자세한 내용은 IRP-Based 수 있는 작업 또는 빠른 I/O를 참조하세요.