다음을 통해 공유


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 콜백 함수를 호출합니다. 콜백 함수는 프레임워크 디바이스 개체(PDO)를 만들려면 WdfDeviceCreate 를 호출해야 합니다.

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