다음을 통해 공유


EVT_WDF_CHILD_LIST_CREATE_DEVICE 콜백 함수(wdfchildlist.h)

[KMDF에만 적용]

버스 드라이버의EvtChildListCreateDevice 이벤트 콜백 함수는 동적으로 열거된 새 디바이스에 대한 프레임워크 디바이스 개체를 만듭니다.

통사론

EVT_WDF_CHILD_LIST_CREATE_DEVICE EvtWdfChildListCreateDevice;

NTSTATUS EvtWdfChildListCreateDevice(
  [in] WDFCHILDLIST ChildList,
  [in] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
  [in] PWDFDEVICE_INIT ChildInit
)
{...}

매개 변수

[in] ChildList

드라이버가 WdfChildListAddOrUpdateChildDescriptionAsPresent를 호출할 때 지정한 프레임워크 자식 목록 개체에대한 핸들입니다.

[in] IdentificationDescription

드라이버가 WdfChildListAddOrUpdateChildDescriptionAsPresent를 호출할 때 지정한 WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER 구조체의 복사본에 대한포인터입니다.

[in] ChildInit

WDFDEVICE_INIT 구조체에 대한 포인터입니다.

반환 값

EvtChildListCreateDevice 콜백 함수는 작업이 성공하면 STATUS_SUCCESS 또는 NT_SUCCESS(상태)가 TRUE 다른 상태 값을 반환해야 합니다. 그렇지 않으면 이 함수는 NT_SUCCESS(상태)가 false 상태 값을 반환해야 합니다.

작업이 실패했지만 나중에 드라이버가 다시 시도해야 한다고 생각하고 드라이버의 EvtChildListCreateDevice 콜백 함수가 WdfDeviceCreate호출하지 않은 경우 드라이버는 STATUS_RETRY 반환할 수 있습니다. 따라서 프레임워크는 나중에 EvtChildListCreateDevice 콜백 함수를 다시 호출합니다. 드라이버가 몇 번 이상 STATUS_RETRY 반환하는 경우 프레임워크는 실패한 디바이스에 대한 콜백 함수 호출을 중지합니다.

발언

버스 드라이버가 동적 열거형사용하는 경우 WdfFdoInitSetDefaultChildListConfig 호출하거나 WdfChildListCreate 호출하여 EvtChildListCreateDevice 콜백 함수를 등록할 수 있습니다.

드라이버가 WdfChildListAddOrUpdateChildDescriptionAsPresent 또는 WdfChildListUpdateAllChildDescriptionsAsPresent 호출한 후 프레임워크는 드라이버의 EvtChildListCreateDevice 콜백 함수를 호출합니다. 콜백 함수는 WdfDeviceCreate 호출하여 프레임워크 디바이스 개체(PDO)를 만들어야 합니다.

WdfDeviceCreate호출하기 전에 드라이버는 WDFDEVICE_INIT 구조를 초기화하는 프레임워크 제공 함수를 호출해야 합니다. 이러한 함수에 대한 자세한 내용은 WDFDEVICE_INIT참조하세요.

WdfDeviceCreate호출하는 방법에 대한 자세한 내용은 프레임워크 디바이스 개체 만들기참조하세요.

동적 열거형에 대한 자세한 내용은 버스 디바이스 열거참조하세요.

요구 사항

요구
대상 플랫폼 보편적
최소 KMDF 버전 1.0
헤더 wdfchildlist.h(Wdf.h 포함)
IRQL PASSIVE_LEVEL

참고 항목

WDFDEVICE_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListCreate

WdfChildListUpdateAllChildDescriptionsAsPresent

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig