프레임워크 파일 개체

경고

UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다.

보관된 UMDF 1 샘플은 Windows 11 버전 22H2 - 2022년 5월 드라이버 샘플 업데이트에서 찾을 수 있습니다.

자세한 내용은 UMDF를 사용하여 시작 참조하세요.

프레임워크 파일 개체는 IWDFFile 인터페이스를 통해 드라이버에 노출됩니다. 열린 디바이스의 프레임워크 표현입니다. 애플리케이션이 Microsoft Win32 CreateFile 함수를 통해 디바이스를 열면 프레임워크는 열린 디바이스 instance 나타내는 파일 개체를 만듭니다. 따라서 프레임워크 파일 개체는 개념적으로 CreateFile에 대한 애플리케이션의 호출에서 반환되는 Win32 핸들과 동일합니다. 프레임워크는 단일 디바이스와 연결된 여러 파일 개체를 만들 수 있습니다. CreateFile을 성공적으로 호출할 때마다 각 파일 개체가 만들어집니다. 읽기 및 쓰기와 같은 모든 I/O 작업은 특정 파일 개체 instance 대상으로 합니다.

참고 UMDF 드라이버에 전달된 모든 요청은 파일 개체와 연결됩니다. 그러나 WDMKMDF 드라이버에 전달되는 요청은 파일 개체와 연결되지 않는 경우가 있습니다.

UMDF 드라이버는 IWDFIoRequest::GetFileObject 메서드를 호출하여 요청과 연결된 파일 개체를 가져올 수 있습니다.

드라이버가 GetFileObject를 호출하면 프레임워크는 인터페이스에서 참조 횟수를 증가합니다. 드라이버는 인터페이스 포인터로 완료되면 참조를 해제해야 합니다. 이렇게 하려면 개체가 컨텍스트를 벗어날 때 참조 수를 자동으로 감소시키는 스마트 포인터를 사용하거나, 완료될 때 인터페이스에서 Release 를 호출합니다. 스마트 포인터를 사용하는 방법을 보여 주는 코드 예제는 GetFileObject를 참조하세요.