EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED回呼函式 (wdfchildlist.h)

[僅適用於 KMDF]

驅動程式的 EvtChildListDeviceReenumerated 事件回呼函式可讓驅動程式核准或取消指定裝置的繼續。

語法

EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtWdfChildListDeviceReenumerated;

BOOLEAN EvtWdfChildListDeviceReenumerated(
  [in]  WDFCHILDLIST ChildList,
  [in]  WDFDEVICE OldDevice,
  [in]  PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription,
  [out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
)
{...}

參數

[in] ChildList

架構子清單物件的句柄。

[in] OldDevice

架構裝置物件的句柄。

[in] OldAddressDescription

可識別子位址描述或 NULL 之WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 結構的選擇性指標。 如果提供,此結構會包含裝置繼續之前相關的地址資訊。

[out] NewAddressDescription

可識別子位址描述或 NULL 之WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 結構的選擇性指標。 如果提供,回呼函式會填入此結構,其中包含裝置的新地址資訊。

傳回值

EvtChildListDeviceReenumerated 回呼函式會傳回 TRUE,以核准繼續或 FALSE 來取消它。

備註

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

架構型總線驅動程式可以從函式驅動程式接收要求,以繼續特定子裝置。 如需這些要求的詳細資訊,請參閱 處理列舉要求

總線驅動程式的 EvtChildListDeviceReenumerated 回呼函式可讓驅動程式核准或取消繼續。 OldDevice 參數會識別裝置,ChildList 參數會識別裝置所屬的子清單。 如果回呼函式傳回 TRUE 以核准繼續,或回呼函式不存在,架構會執行下列動作:

  1. 拿掉裝置的架構裝置物件 (,該物件是由 OldDevice) 識別,但會保留裝置的識別描述。
  2. 呼叫驅動程式的 EvtChildListCreateDevice 回呼函式,傳遞儲存的識別描述,讓回呼函式可以呼叫 WdfDeviceCreate 來建立新的架構裝置物件。
如果總線驅動程式使用位址描述, EvtChildListDeviceReenumerated 回呼函式會接收兩個位址描述的指標。 一個指向與舊裝置對象相關聯的位址描述。 另一個指向回呼函式必須填入描述裝置目前位置的信息位址描述。

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

規格需求

需求
目標平台 Universal
最小 KMDF 版本 1.0
標頭 wdfchildlist.h (包含 Wdf.h)
IRQL <= DISPATCH_LEVEL

另請參閱

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig