[KMDF 및 UMDF에 적용]
WdfFileObjectGetFileName 메서드는 지정된 프레임워크 파일 개체에 포함된 파일 이름을 반환합니다.
구문론
PUNICODE_STRING WdfFileObjectGetFileName(
[in] WDFFILEOBJECT FileObject
);
매개 변수
[in] FileObject
프레임워크 파일 개체에 대한 핸들입니다.
반환 값
WdfFileObjectGetFileName 파일 이름을 포함하는 UNICODE_STRING 구조체에 대한 포인터를 반환합니다. 지정된 프레임워크 파일 개체에 대한 WDM 파일 개체가 없거나 PASSIVE_LEVEL보다 높은 IRQL에서 호출되는 경우 메서드는 NULL 반환합니다.
드라이버에서 잘못된 개체 핸들을 제공하면 버그 검사가 수행됩니다.
비고
드라이버가 WdfDeviceCreateDeviceInterface호출할 때 참조 문자열을 지정한 경우 WdfFileObjectGetFileName 백슬래시 앞에 추가된 참조 문자열을 반환합니다. 참조 문자열을 확인하려면 백슬래시를 제거합니다.
반환된 문자열에는 파일 이름 또는 참조 문자열이 포함될 수 있습니다. 문자열에 디바이스 이름이 포함되어 있지 않습니다. 애플리케이션 또는 커널 모드 구성 요소가 참조 문자열 없이 파일 대신 디바이스를 연 경우 반환된 UNICODE_STRING 구조체의 Length 멤버는 0입니다.
드라이버는 파일 만들기 요청을 처리하는 동안 WdfFileObjectGetFileName 호출해야 합니다(WdfRequestTypeCreate 요청 형식). 드라이버가 EvtDeviceFileCreate 콜백 함수에서 WdfRequestTypeCreate형식화된 I/O 요청을 처리할 수 있습니다.
또는 EvtDeviceFileCreate 콜백 함수를 제공하는 대신 드라이버는 WdfDeviceConfigureRequestDispatching 호출하여 모든 파일 만들기 요청(WdfRequestTypeCreate 요청 형식)을 수신하도록 I/O 큐를 설정할 수 있습니다. 이후 드라이버는 큐의 EvtIoDefault 요청 처리기에서 파일 만들기 요청을 받습니다.
프레임워크 파일 개체에 대한 자세한 내용은 Framework 파일 개체참조하세요.
파일 이름에 대한 자세한 내용은 디바이스 네임스페이스 액세스제어를 참조하세요.
참조 문자열에 대한 자세한 내용은 IoRegisterDeviceInterface참조하세요.
예시
다음 코드 예제에서는 EvtDeviceFileCreate 콜백 함수가 애플리케이션이 연 파일의 이름을 가져오는 방법을 보여줍니다.
VOID
MyEvtDeviceFileCreate (
IN WDFDEVICE Device,
IN WDFREQUEST Request,
IN WDFFILEOBJECT FileObject
)
{
PUNICODE_STRING fileName;
fileName = WdfFileObjectGetFileName(FileObject);
...
}
요구 사항
요구 사항 | 가치 |
---|---|
대상 플랫폼 | 보편적 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
헤더 | wdffileobject.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF) |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |