IUPnPRegistrar::RegisterRunningDevice-Methode (upnphost.h)
Die RegisterRunningDevice-Methode registriert ein ausgeführtes Gerät beim Gerätehost. Die Geräteinformationen werden vom Gerätehost gespeichert. Anschließend gibt der Gerätehost eine Geräte-ID zurück und veröffentlicht und kündigt das Gerät im Netzwerk an. Die Veröffentlichung dieses Geräts wird nicht über Systemboote hinweg beibehalten.
Syntax
HRESULT RegisterRunningDevice(
[in] BSTR bstrXMLDesc,
[in] IUnknown *punkDeviceControl,
[in] BSTR bstrInitString,
[in] BSTR bstrResourcePath,
[in] long nLifeTime,
[out] BSTR *pbstrDeviceIdentifier
);
Parameter
[in] bstrXMLDesc
Gibt die XML-Gerätebeschreibungsvorlage des zu registrierenden Geräts an.
[in] punkDeviceControl
Gibt den IUnknown-Zeiger auf das Gerätesteuerungsobjekt des Geräts an.
[in] bstrInitString
Identifiziert die für das Gerät spezifische Initialisierungszeichenfolge. Diese Zeichenfolge wird später an IUPnPDeviceControl::Initialize übergeben.
[in] bstrResourcePath
Gibt den Speicherort des Ressourcenverzeichnisses des Geräts an. Dieses Ressourcenverzeichnis enthält die Symboldateien und Dienstbeschreibungen, die in der Gerätebeschreibungsvorlage bstrXMLDesc angegeben sind.
[in] nLifeTime
Gibt die Lebensdauer der Geräteankündigung in Sekunden an. Nach Ablauf des Timeouts werden die Ankündigungen aktualisiert. Wenn Sie null angeben, wird der Standardwert 1800 (30 Minuten) verwendet. Der zulässige Mindestwert beträgt 900 (15 Minuten); Wenn Sie etwas kleiner als 900 angeben, wird ein Fehler zurückgegeben.
[out] pbstrDeviceIdentifier
Empfängt den Gerätebezeichner. Verwenden Sie diesen Bezeichner, wenn Sie die Registrierung des Geräts aufheben oder erneut registrieren. Speichern Sie diese Geräte-ID. sie müssen beim Aufrufen von UnregisterDevice verwendet werden.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls gibt die Methode einen der in WinError.h definierten COM-Fehlercodes oder einen der folgenden UPnP-spezifischen Fehlercodes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Ein doppeltes Element ist vorhanden. |
|
Eine doppelte Dienst-ID für einen Dienst innerhalb desselben übergeordneten Geräts ist vorhanden. |
|
Die Gerätebeschreibung ist ungültig. |
|
Im Symbolelement der Gerätebeschreibung ist ein Fehler vorhanden. |
|
In einem Dienstelement in der Gerätebeschreibung ist ein Fehler vorhanden. |
|
Ein erforderliches Element fehlt. |
Hinweise
Der Client, der diese Methode aufruft, muss die Identität von LocalService annehmen können, um die Verarbeitung dieser Methode abzuschließen.
Die IUPnPDeviceControl::Initialize-Methode wird aufgerufen, wenn die erste Steuerelement- oder Ereignisanforderung empfangen wird.
Verwenden Sie den in pbstrDeviceIdentifier zurückgegebenen Bezeichner, wenn Sie UnregisterDevice oder IUPnPReregistrar::ReregisterRunningDevice aufrufen.
Die Registrierung dieses Geräts wird nicht über Systemboote hinweg beibehalten.
Häufige Fehler, die beim Aufrufen dieser Funktion auftreten können, sind:
- Das erforderliche COM-Objekt wurde nicht gefunden.
- Es gibt keinen Zugriff auf das COM-Objekt für LocalService.
- Untergeordnete COM-Schnittstellen.
- Die XML-Beschreibungsgrenzwerte (siehe Erstellen einer Gerätebeschreibung).
- Ereignisvariablen haben keine Erfolgscodes zurückgegeben, und das Gerät wurde heruntergefahren.
- Die Dienstbeschreibung war ungültig. Verwenden Sie validatesd.exe, um sicherzustellen, dass Dienstbeschreibungen gültig sind.
- Der Dienst hat IUPnPEventSource nicht implementiert und keinen Erfolgscode an IUPnPEventSource::Advise zurückgegeben, und das Gerät wurde heruntergefahren.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Nicht unterstützt |
Zielplattform | Windows |
Kopfzeile | upnphost.h |
DLL | Upnphost.dll |