다음을 통해 공유


User-Space 메모리 액세스

드라이버는 드라이버의 현재 I/O 작업을 발생시키고 해당 스레드의 가상 주소를 사용하는 사용자 모드 스레드의 컨텍스트에서 실행되지 않는 한 사용자 모드 가상 주소를 통해 메모리에 직접 액세스할 수 없습니다.

FSD와 같은 최상위 드라이버만 이러한 사용자 모드 스레드의 컨텍스트에서 디스패치 루틴이 호출되는지 확인할 수 있습니다. 최상위 드라이버는 MmProbeAndLockPages 를 호출하여 낮은 드라이버에 대한 IRP를 설정하기 전에 사용자 버퍼를 잠글 수 있습니다.

버퍼링된 I/O 또는 직접 I/O를 위해 디바이스 개체를 설정하는 최저 수준 및 중간 드라이버는 I/O 관리자 또는 최상위 드라이버에 의존하여 잠긴 사용자 버퍼 또는 IRP의 시스템 공간 버퍼에 유효한 액세스를 전달할 수 있습니다.