Freigeben über


IUPnPDescriptionDocument::LoadAsync-Methode (upnp.h)

Die LoadAsync-Methode lädt ein Dokument asynchron. Diese Methode gibt die Steuerung sofort an den Aufrufer zurück und verwendet den angegebenen Rückruf, um den Aufrufer zu benachrichtigen, wenn der Vorgang abgeschlossen ist.

Syntax

HRESULT LoadAsync(
  [in] BSTR     bstrUrl,
  [in] IUnknown *punkCallback
);

Parameter

[in] bstrUrl

Gibt die URL des zu ladenden Dokuments an. Wenn es sich bei der angegebenen URL um eine relative URL handelt, wird der Servername dem Wert von bstrUrl vorangestellt.

[in] punkCallback

Verweis auf einen IUnknown,der den Rückruf angibt, mit dem das UPnP-Framework den Aufrufer benachrichtigt, wenn der Vorgang abgeschlossen ist. Wenn der Ladevorgang nicht sofort fehlschlägt, gibt dieser Rückruf an, ob der Ladevorgang erfolgreich war oder nicht. Das objekt, auf das von pUnkCallback verwiesen wird, muss entweder die IUPnPDescriptionDocumentCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen.

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-Rückgabewerte zurück.

Rückgabecode Beschreibung
UPNP_E_DEVICE_ELEMENT_EXPECTED
Das XML-Dokument enthält kein Device-Element Es fehlt entweder im Stammelement oder im DeviceList-Element .
UPNP_E_DEVICE_NODE_INCOMPLETE
Im XML-Dokument fehlt eines der erforderlichen Elemente aus dem Device-Element .
UPNP_E_ICON_ELEMENT_EXPECTED
Das XML-Dokument verfügt nicht über ein Symbolelement. Es fehlt im IconList-Element , oder das DeviceList-Element enthält kein IconList-Element .
UPNP_E_ICON_NODE_INCOMPLETE
Im XML-Dokument fehlt eines der erforderlichen Elemente aus dem Icon-Element .
UPNP_E_ROOT_ELEMENT_EXPECTED
Das XML-Dokument verfügt auf der obersten Ebene des Dokuments nicht über ein Stammelement.
UPNP_E_SERVICE_ELEMENT_EXPECTED
Das XML-Dokument verfügt nicht über ein Dienstelement. Es fehlt im ServiceList-Element , oder das DeviceList-Element enthält kein ServiceList-Element .
UPNP_E_SERVICE_NODE_INCOMPLETE
Im XML-Dokument fehlt eines der erforderlichen Elemente aus dem Service-Element .

Hinweise

Diese Methode sollte nicht aus einem Benutzeroberflächenthread aufgerufen werden, da es lange dauern kann, bis die Methode zurückgegeben wird.

Wenn Sie diese Methode für dasselbe Objekt unmittelbar nach einem vorherigen Aufruf aufrufen, wird der erste Aufruf von LoadAsync abgebrochen. Um dies zu vermeiden, warten Sie auf den IUPnPDescriptionDocumentCallback::LoadComplete-Rückruf , und verwenden Sie dann LoadResult , um die Statusinformationen anzuzeigen.

Wenn die LoadAsync-Methode von einem Skript innerhalb einer Webseite aufgerufen wird, kann bstrUrl eine relative URL sein. Die Adresse der aktuellen Webseite wird als Basis-URL verwendet.

Wenn diese Methode von einer Webseite aufgerufen wird, muss die url, die der Aufrufer angibt, auf denselben Server verweisen, von dem die Webseite geladen wurde.

Das objekt, auf das von pUnkCallback verwiesen wird, muss entweder die IUPnPDescriptionDocumentCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen. Die LoadAsync-Methode fragt zuerst pUnkCallback für die IUPnPDescriptionDocumentCallback-Schnittstelle ab. Wenn diese Schnittstelle nicht unterstützt wird, fragt die LoadAsync-MethodepUnkCallback für die IDispatch-Schnittstelle ab. Wenn die IDispatch-Schnittstelle nicht unterstützt wird, sind beide Überprüfungen fehlgeschlagen, und die LoadAsync-Methode gibt E_FAIL zurück.

Der auf IDispatch basierende Rückruf für die LoadAsync-Methode funktioniert als Skriptfunktion, die einen Parameter akzeptiert. Dieser Parameter ist das Ergebnis des Ladevorgangs. Wenn der Parameter null ist, war das Laden erfolgreich, und der Benutzer kann Geräteobjekte aus dem Dokument abrufen. Wenn der Parameter ungleich 0 ist, beschreibt er den Fehler. Der Wert entspricht dem Fehlercode, den die IUPnPDescriptionDocument::Load-Methode zurückgibt.

In der Visual Basic Scripting Edition (VBScript)-Entwicklungssoftware muss das zweite Argument GetRef(funcname) sein, wobei funcname der Name der Rückrufunterroutine ist.

Wenn diese Funktion S_OK zurückgibt, wird IUPnPDescriptionDocumentCallback::LoadComplete vom UPnP-Framework aufgerufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile upnp.h
DLL Upnp.dll

Weitere Informationen

IUPnPDescriptionDocument

IUPnPDescriptionDocument::Load