WDF_FILEOBJECT_CLASS 열거형(wdfdevice.h)

[KMDF 및 UMDF에 적용]

WDF_FILEOBJECT_CLASS 열거형은 드라이버가 애플리케이션 또는 다른 드라이버가 만들거나 열려고 하는 파일을 나타내기 위해 프레임워크 파일 개체가 필요한지 여부를 식별하는 값을 정의합니다. 또한 이러한 값은 프레임워크가 개체의 핸들을 저장할 수 있는 위치를 지정합니다.

Syntax

typedef enum _WDF_FILEOBJECT_CLASS {
  WdfFileObjectInvalid = 0,
  WdfFileObjectNotRequired = 1,
  WdfFileObjectWdfCanUseFsContext = 2,
  WdfFileObjectWdfCanUseFsContext2 = 3,
  WdfFileObjectWdfCannotUseFsContexts = 4,
  WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;

상수

 
WdfFileObjectInvalid
값: 0
내부용으로 예약된 속성입니다.
WdfFileObjectNotRequired
값: 1
드라이버에는 프레임워크 파일 개체가 필요하지 않습니다.
WdfFileObjectWdfCanUseFsContext
값: 2
드라이버에는 프레임워크 파일 개체가 필요합니다. 프레임워크는 파일의 WDM(Windows 드라이버 모델) FILE_OBJECT 구조체의 FsContext 멤버에 개체의 핸들을 저장할 수 있습니다.
WdfFileObjectWdfCanUseFsContext2
값: 3
드라이버에는 프레임워크 파일 개체가 필요합니다. 프레임워크는 파일의 WDM FILE_OBJECT 구조체의 FsContext2 멤버에 개체의 핸들을 저장할 수 있습니다.
WdfFileObjectWdfCannotUseFsContexts
값: 4
드라이버에는 프레임워크 파일 개체가 필요합니다. 하나 이상의 드라이버가 이러한 멤버를 사용하므로 프레임워크는 파일의 WDM FILE_OBJECT 구조체의 FsContext 또는 FsContext2 멤버에 개체의 핸들을 저장할 수 없습니다. 따라서 프레임워크는 내부적으로 핸들을 저장해야 합니다.
WdfFileObjectCanBeOptional
값: 0x80000000
드라이버에는 일반적으로 프레임워크 파일 개체가 필요하지만 드라이버는 프레임워크 파일 개체가 없거나 다른 특수한 상황을 처리할 수도 있습니다. 이러한 상황에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

WdfFileObjectCanBeOptional은 드라이버가 WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 또는 WdfFileObjectWdfCannotUseFsContexts 열거자 값으로 OR할 수 있는 비트 플래그입니다.

대부분의 프레임워크 기반 드라이버는 이 비트 플래그를 사용하지 않습니다.

WdfFileObjectCanBeOptional 값은 KMDF 버전 1.9 이상에서 사용할 수 있습니다.

설명

WDF_FILEOBJECT_CLASS 열거형은 WDF_FILEOBJECT_CONFIG 구조체에 사용됩니다.

드라이버가 WdfRequestGetFileObject 를 호출하여 I/O 요청에 대한 프레임워크 파일 개체를 가져오고 드라이버가 수신하는 일부 WDM I/O 요청 패킷(IRP)에 WDM 파일 개체가 포함되지 않는다는 것을 알고 있는 경우 드라이버는 WdfFileObjectCanBeOptional 비트 플래그를 설정할 수 있습니다.

드라이버가 WdfFileObjectWdfCanUseFsContext를 설정하는 경우 WdfFileObjectWdfCanUseFsContext2 또는 WdfFileObjectWdfCannotUseFsContexts 값을 설정하지 않고 WdfFileObjectCanBeOptional 비트 플래그를 설정하지 않습니다. 프레임워크의 검증 도구는 드라이버가 WdfRequestGetFileObject 메서드를 호출할 때 다음과 같은 경우에 대한 오류를 보고합니다.

  • IRP에는 WDM 파일 개체가 포함되지 않습니다.
  • IRP에는 WDM 파일 개체가 포함되지만 파일 개체는 파일 만들기 IRP에 포함된 개체와 다릅니다.
WdfFileObjectCanBeOptional 비트 플래그가 설정된 경우 프레임워크의 검증 도구는 이러한 경우를 무시합니다.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdevice.h(Wdf.h 포함)

추가 정보

FILE_OBJECT

WDF_FILEOBJECT_CONFIG