다음을 통해 공유


WDF_FILEOBJECT_CONFIG 구조체(wdfdevice.h)

[KMDF 및 UMDF에 적용]

WDF_FILEOBJECT_CONFIG 구조에는 드라이버의 프레임워크 파일 개체에 대한 구성 정보가 포함됩니다.

구문

typedef struct _WDF_FILEOBJECT_CONFIG {
  ULONG                      Size;
  PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
  PFN_WDF_FILE_CLOSE         EvtFileClose;
  PFN_WDF_FILE_CLEANUP       EvtFileCleanup;
  WDF_TRI_STATE              AutoForwardCleanupClose;
  WDF_FILEOBJECT_CLASS       FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;

멤버

Size

이 구조체의 크기(바이트)입니다.

EvtDeviceFileCreate

드라이버의 EvtDeviceFile 콜 백 만들기 함수 또는 NULL에 대한 포인터입니다.

EvtFileClose

드라이버의 EvtFileClose 콜백 함수 또는 NULL에 대한 포인터입니다.

EvtFileCleanup

드라이버의 EvtFileCleanup 콜백 함수 또는 NULL에 대한 포인터입니다.

AutoForwardCleanupClose

WDF_TRI_STATE 형식의 값입니다. 이 멤버에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.

FileObjectClass

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

설명

WDF_FILEOBJECT_CONFIG 구조체는 WdfDeviceInitSetFileObjectConfig 메서드에 대한 입력으로 사용됩니다.

WDF_FILEOBJECT_CONFIG_INIT 호출하여 WDF_FILEOBJECT_CONFIG 초기화해야 합니다.

AutoForwardCleanupClose에 대한 프레임워크 동작

AutoForwardCleanupCloseWdfTrue로 설정된 경우 프레임워크는 다음을 수행합니다.
  • 드라이버가 EvtDeviceFileCreate 콜백 함수를 제공하지 않고 WdfDeviceConfigureRequestDispatching 을 호출하지 않은 경우 프레임워크는 파일 만들기 요청을 다음 하위 드라이버로 전달하여 파일 만들기 요청을 수신하도록 I/O 큐를 설정합니다. 드라이버가 요청을 처리하기 위한 콜백 함수 또는 큐를 제공하는 경우 프레임워크는 파일 만들기 요청을 전달하지 않으므로 드라이버는 요청을 전달, 완료 또는 취소 해야 합니다.
  • 프레임워크는 드라이버의 EvtFileCleanupEvtFileClose 콜백 함수를 호출한 후 파일 정리 및 닫기 요청을 다음 하위 드라이버에 보냅니다.
AutoForwardCleanupCloseWdfFalse로 설정된 경우 프레임워크는 파일 만들기, 정리 또는 닫기 요청을 전달하지 않습니다. 대신 프레임워크는 드라이버에 대한 요청을 완료합니다.

AutoForwardCleanupCloseWdfUseDefault로 설정된 경우 프레임워크는 필터 드라이버에 WdfTrue 동작을 사용하고 함수 드라이버에 WdfFalse 동작을 사용합니다.

AutoForwardCleanupClose에 대한 드라이버 동작

드라이버의 로컬 I/O 대상은 항상 요청 형식이 WdfRequestTypeCreate, WdfRequestTypeCleanupWdfRequestTypeClose인 동일한 수의 I/O 요청을 받아야 합니다. 따라서 드라이버가 EvtDeviceFileCreate 콜백 함수 또는 파일 만들기 요청을 수신하는 I/O 큐를 제공하는 경우 다음 규칙을 사용해야 합니다.
  • 드라이버가 AutoForwardCleanupCloseWdfTrue로 설정하는 경우 드라이버는 모든 파일 만들기 요청을 로컬 I/O 대상에 전달해야 합니다. 드라이버가 EvtFileCleanupEvtFileClose 콜백 함수를 제공하는지 여부에 관계없이 프레임워크가 모든 정리 및 닫기 요청을 로컬 대상에 전달하기 때문에 이 규칙을 따라야 합니다.
  • 드라이버가 AutoForwardCleanupCloseWdfFalse로 설정하는 경우 드라이버는 파일 만들기 요청을 로컬 I/O 대상에 전달 해서는 안 됩니다. 드라이버가 EvtFileCleanupEvtFileClose 콜백 함수를 제공하는지 여부에 관계없이 프레임워크가 로컬 대상에 대한 정리 및 닫기 요청을 전달하지 않으므로 이 규칙을 따라야 합니다.
  • 드라이버가 AutoForwardCleanupCloseWdfDefault로 설정하는 경우 드라이버가 필터 드라이버인 경우 WdfTrue 에 대한 규칙을 따라야 합니다. 드라이버가 함수 드라이버인 경우 WdfFalse 에 대한 규칙을 따라야 합니다.

요구 사항

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