WdfRequestGetFileObject 함수(wdfrequest.h)
[KMDF 및 UMDF에 적용]
WdfRequestGetFileObject 메서드는 지정된 I/O 요청과 연결된 프레임워크 파일 개체를 검색합니다.
구문
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
매개 변수
[in] Request
프레임워크 요청 개체에 대한 핸들입니다.
반환 값
프레임워크가 지정된 요청에 대한 파일 개체를 만든 경우 WdfRequestGetFileObject는 프레임워크 파일 개체에 대한 핸들을 반환합니다. 그렇지 않으면 이 메서드는 NULL을 반환합니다. 일반적으로 드라이버는 WDF_FILEOBJECT_CONFIG 구조체에서 WdfFileObjectCanBeOptional 비트 플래그를 설정하는 경우에만 NULL 반환 값을 테스트합니다.
드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.
설명
WdfRequestGetFileObject 메서드는 다음과 같은 경우 NULL을 반환합니다.
- 드라이버가 WdfDeviceInitSetFileObjectConfig 를 호출하지 않았으며 프레임워크가 파일 개체를 만들도록 하는 WDF_FILEOBJECT_CLASS 값을 지정했습니다.
- 다른 드라이버는 먼저 WdfRequestTypeCreate의 요청 유형을 보내지 않고 드라이버에 읽기, 쓰기 또는 I/O 제어 요청을 보냈습니다.
예제
다음 코드 예제에서는 I/O 요청의 파일 개체를 가져온 다음 파일 개체의 컨텍스트 공간에 대한 포인터를 가져오는 드라이버 정의 루틴을 호출합니다.
VOID
MyEvtIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFFILEOBJECT fileObject;
PFILE_OPEN_CONTEXT pOpenContext;
fileObject = WdfRequestGetFileObject(Request);
pOpenContext = GetFileObjectContext(fileObject)->OpenContext;
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfrequest.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |