프레임워크 파일 개체

경고

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

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

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

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

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

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