共用方式為


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多次,架構將會停止呼叫失敗裝置的回呼函式。

言論

如果總線驅動程式使用 動態列舉,則可以呼叫 WdfFdoInitSetDefaultChildListConfigWdfChildListCreate來註冊 EvtChildListCreateDevice 回呼函式。

在驅動程式呼叫 WdfChildListAddOrUpdateChildDescriptionAsPresentWdfChildListUpdateAllChildDescriptionsAsPresent之後,架構會呼叫驅動程式的 EvtChildListCreateDevice 回呼函式。 回呼函式必須呼叫 WdfDeviceCreate,才能建立架構裝置物件 (PDO)。

在呼叫 WdfDeviceCreate之前,驅動程式必須呼叫初始化WDFDEVICE_INIT結構的架構提供函式。 如需這些函式的詳細資訊,請參閱 WDFDEVICE_INIT

如需呼叫 WdfDeviceCreate的詳細資訊,請參閱 建立 Framework Device Object

如需動態列舉的詳細資訊,請參閱 列舉總線上的裝置

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標頭 wdfchildlist.h (包括 Wdf.h)
IRQL PASSIVE_LEVEL

另請參閱

WDFDEVICE_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListCreate

WdfChildListUpdateAllChildDescriptionsAsPresent

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig