다음을 통해 공유


디바이스 개체 플래그를 준수하는 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를 참조하세요.