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 的詳細資訊,請參閱 建立架構裝置物件

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

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
標頭 wdfchildlist.h (包含 Wdf.h)
IRQL PASSIVE_LEVEL

另請參閱

WDFDEVICE_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListCreate

WdfChildListUpdateAllChildDescriptionsAsPresent

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig