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에 대한 프레임워크 동작
AutoForwardCleanupClose가 WdfTrue로 설정된 경우 프레임워크는 다음을 수행합니다.- 드라이버가 EvtDeviceFileCreate 콜백 함수를 제공하지 않고 WdfDeviceConfigureRequestDispatching 을 호출하지 않은 경우 프레임워크는 파일 만들기 요청을 다음 하위 드라이버로 전달하여 파일 만들기 요청을 수신하도록 I/O 큐를 설정합니다. 드라이버가 요청을 처리하기 위한 콜백 함수 또는 큐를 제공하는 경우 프레임워크는 파일 만들기 요청을 전달하지 않으므로 드라이버는 요청을 전달, 완료 또는 취소 해야 합니다.
- 프레임워크는 드라이버의 EvtFileCleanup 및 EvtFileClose 콜백 함수를 호출한 후 파일 정리 및 닫기 요청을 다음 하위 드라이버에 보냅니다.
AutoForwardCleanupClose가 WdfUseDefault로 설정된 경우 프레임워크는 필터 드라이버에 WdfTrue 동작을 사용하고 함수 드라이버에 WdfFalse 동작을 사용합니다.
AutoForwardCleanupClose에 대한 드라이버 동작
드라이버의 로컬 I/O 대상은 항상 요청 형식이 WdfRequestTypeCreate, WdfRequestTypeCleanup 및 WdfRequestTypeClose인 동일한 수의 I/O 요청을 받아야 합니다. 따라서 드라이버가 EvtDeviceFileCreate 콜백 함수 또는 파일 만들기 요청을 수신하는 I/O 큐를 제공하는 경우 다음 규칙을 사용해야 합니다.- 드라이버가 AutoForwardCleanupClose 를 WdfTrue로 설정하는 경우 드라이버는 모든 파일 만들기 요청을 로컬 I/O 대상에 전달해야 합니다. 드라이버가 EvtFileCleanup 및 EvtFileClose 콜백 함수를 제공하는지 여부에 관계없이 프레임워크가 모든 정리 및 닫기 요청을 로컬 대상에 전달하기 때문에 이 규칙을 따라야 합니다.
- 드라이버가 AutoForwardCleanupClose 를 WdfFalse로 설정하는 경우 드라이버는 파일 만들기 요청을 로컬 I/O 대상에 전달 해서는 안 됩니다. 드라이버가 EvtFileCleanup 및 EvtFileClose 콜백 함수를 제공하는지 여부에 관계없이 프레임워크가 로컬 대상에 대한 정리 및 닫기 요청을 전달하지 않으므로 이 규칙을 따라야 합니다.
- 드라이버가 AutoForwardCleanupClose 를 WdfDefault로 설정하는 경우 드라이버가 필터 드라이버인 경우 WdfTrue 에 대한 규칙을 따라야 합니다. 드라이버가 함수 드라이버인 경우 WdfFalse 에 대한 규칙을 따라야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfdevice.h(Wdf.h 포함) |