WdfFileObjectGetFileName 함수(wdffileobject.h)

[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입니다.

드라이버가 파일 만들기 요청(WdfRequestTypeCreate 요청 형식)을 처리하는 동안에만 WdfFileObjectGetFileName을 호출해야 합니다. 드라이버가 EvtDeviceFileCreate 콜백 함수에서 WdfRequestTypeCreate 형식의 I/O 요청을 처리할 수 있습니다.

또는 EvtDeviceFileCreate 콜백 함수를 제공하는 대신 드라이버가 WdfDeviceConfigureRequestDispatching을 호출하여 모든 파일 만들기 요청(WdfRequestTypeCreate 요청 유형)을 수신하도록 I/O 큐를 설정할 수 있습니다. 이후에 드라이버는 큐의 EvtIoDefault 요청 처리기에서 파일 만들기 요청을 받습니다.

프레임워크 파일 개체에 대한 자세한 내용은 프레임워크 파일 개체를 참조하세요.

파일 이름에 대한 자세한 내용은 디바이스 네임스페이스 액세스 제어를 참조하세요.

참조 문자열에 대한 자세한 내용은 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)

추가 정보

UNICODE_STRING

WdfDeviceCreateDeviceInterface