SW_DEVICE_CREATE_CALLBACK Rückruffunktion (swdevice.h)
Stellt ein Gerät mit Unterstützung in der Registrierung bereit und ermöglicht es dem Aufrufer, dann mit dem hSwDevice-Handle Aufrufe von Funktionen der Softwaregeräte-API zu tätigen.
Syntax
SW_DEVICE_CREATE_CALLBACK SwDeviceCreateCallback;
void SwDeviceCreateCallback(
[in] HSWDEVICE hSwDevice,
[in] HRESULT CreateResult,
[in, optional] PVOID pContext,
[in, optional] PCWSTR pszDeviceInstanceId
)
{...}
Parameter
[in] hSwDevice
Das Handle für das Softwaregerät.
[in] CreateResult
Ein HRESULT, das angibt, ob die Enumeration des Softwaregeräts erfolgreich war.
[in, optional] pContext
Der Kontext, der optional von der Client-App für SwDeviceCreate bereitgestellt wurde.
[in, optional] pszDeviceInstanceId
Das Gerät instance ID, die PnP dem Gerät zugewiesen hat.
Rückgabewert
Keine
Bemerkungen
Das Betriebssystem ruft die SW_DEVICE_CREATE_CALLBACK Rückruffunktion auf, nachdem PnP das Gerät aufgezählt hat. Nachdem die Rückruffunktion aufgerufen wurde, verfügt das Gerät über eine Unterstützung in der Registrierung, und Aufrufe von Funktionen der Softwaregeräte-API können mithilfe des hSwDevice-Handles ausgeführt werden. Sie können auch andere APIs verwenden, die mit Geräten für das erstellte Gerät funktionieren.
Die PnP-Enumeration eines Geräts ist der erste Schritt, den ein Gerät durchläuft. Nach der PnP-Enumeration des Geräts verfügt das Gerät nur über Eine Registrierungssicherung, und Sie können Eigenschaften für das Gerät festlegen. Nur weil PnP das Gerät aufzählt, wurde das Gerät noch nicht gestartet, und noch kein Treiber für das Gerät hat Schnittstellen registriert oder aktiviert. In vielen Fällen wird empfohlen, dass Apps auf die Geräteschnittstelle warten, wenn sie das Gerät verwenden möchten.
In Windows 8 können Sie SwDeviceClose nicht innerhalb der Rückruffunktion aufrufen. Dies führt zu einem Deadlock. Achten Sie darauf, ein Ref counted-Objekt freizugeben, das SwDeviceClose aufruft, wenn sein Destruktor ausgeführt wird. In Windows 8.1 wird diese Einschränkung aufgehoben, und Sie können SwDeviceClose innerhalb der Rückruffunktion aufrufen.
Überprüfen Sie immer das HRESULT, das an CreateResult übergeben wird, um sicherzustellen, dass PnP das Gerät auflisten konnte.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Desktop |
Kopfzeile | swdevice.h |