共用方式為


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 true 核准繼續或 FALSE 取消。

言論

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

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

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

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

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

要求

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

另請參閱

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig