SW_DEVICE_CREATE_CALLBACK回呼函式 (swdevice.h)
在登錄中提供支援裝置,並允許呼叫者接著使用 hSwDevice 句柄呼叫軟體裝置 API 函式。
語法
SW_DEVICE_CREATE_CALLBACK SwDeviceCreateCallback;
void SwDeviceCreateCallback(
[in] HSWDEVICE hSwDevice,
[in] HRESULT CreateResult,
[in, optional] PVOID pContext,
[in, optional] PCWSTR pszDeviceInstanceId
)
{...}
參數
[in] hSwDevice
軟體裝置的句柄。
[in] CreateResult
HRESULT,指出軟體裝置的列舉是否成功。
[in, optional] pContext
用戶端應用程式選擇性提供給 SwDeviceCreate 的內容。
[in, optional] pszDeviceInstanceId
PnP 指派給裝置的裝置實例標識碼。
傳回值
無
備註
操作系統會在 PnP 列舉裝置之後呼叫 SW_DEVICE_CREATE_CALLBACK 回呼函式。 呼叫回呼函式之後,裝置已在登錄中備份,並使用 hSwDevice 句柄來呼叫軟體裝置 API 函式。 您也可以使用其他 API 來處理所建立裝置的裝置。
裝置的 PnP 列舉是裝置進行的第一個步驟。 在裝置的 PnP 列舉之後,裝置只有登錄備份,而且您可以針對裝置設定屬性。 只是因為 PnP 列舉了裝置,裝置尚未啟動,且尚未註冊或啟用裝置的驅動程式。 在許多情況下,我們建議應用程式在想要使用裝置時等候裝置介面抵達。
注意 回呼函式會提供所建立裝置的裝置實例標識碼。 我們建議軟體裝置 API 的呼叫端不會嘗試猜測或自行建構裝置實例識別碼;一律使用回呼函式所提供的值。
在 Windows 8 中,您無法在回呼函式內呼叫 SwDeviceClose。 這樣做會導致死結。 請小心釋放 ref counted 物件,以在解構函式執行時呼叫 SwDeviceClose 。 在 Windows 8.1 中,此限制會隨即解除,您可以在回呼函式內呼叫 SwDeviceClose。
請務必檢查傳遞至 CreateResult 的 HRESULT,以確定 PnP 能夠列舉裝置。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | 桌面 |
標頭 | swdevice.h |