關聯回呼介面範例
警告
UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 撰寫。 未將新功能新增至 UMDF 1,且較新版本的WINDOWS 10上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。
封存的 UMDF 1 範例可在Windows 11 22H2 - 2022 年 5 月驅動程式範例更新中找到。
如需詳細資訊,請參閱使用 UMDF 消費者入門。
下列程式碼範例示範驅動程式如何實作驅動程式用來 建立裝置回呼物件的 create-instance方法。 驅動程式會配置回呼內容,並將提供的 IUnknown 與一或多個回呼介面產生關聯。 架構隨後可以使用 QueryInterface 來探索驅動程式支援的回呼介面。
static HRESULT CreateInstance(
IUnknown **ppUnknown,
IWDFDeviceInitialize *pDeviceInit,
HANDLE CompletionPort
) {
...
// Allocate the callback context
CMyDevice *pMyDevice = new CMyDevice();
...
HRESULT hr;
// Discover the callback interface
hr = pMyDevice->QueryInterface(
__uuidof(IUnknown),
(void **) ppUnknown
);
...
return hr;
}