Compartir a través de


Método IUPnPDescriptionDocument::LoadAsync (upnp.h)

El método LoadAsync carga un documento de forma asincrónica. Este método devuelve el control al autor de la llamada inmediatamente y usa la devolución de llamada especificada para notificar al autor de la llamada una vez completada la operación.

Sintaxis

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

Parámetros

[in] bstrUrl

Especifica la dirección URL del documento que se va a cargar. Si la dirección URL especificada es una dirección URL relativa, el nombre del servidor se antepone al valor de bstrUrl.

[in] punkCallback

Referencia a un IUnknown que especifica la devolución de llamada que usa el marco UPnP para notificar al autor de la llamada una vez completada la operación. Si la operación de carga no produjo un error inmediatamente, esta devolución de llamada indica si la operación de carga se realizó correctamente o no. El objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPDescriptionDocumentCallback o la interfaz IDispatch .

Valor devuelto

Si el método se realiza correctamente, el valor devuelto es S_OK. De lo contrario, el método devuelve uno de los códigos de error COM definidos en WinError.h o uno de los siguientes valores devueltos de UPnP.

Código devuelto Descripción
UPNP_E_DEVICE_ELEMENT_EXPECTED
El documento XML no tiene un elemento device Falta del elemento raíz o del elemento DeviceList .
UPNP_E_DEVICE_NODE_INCOMPLETE
Falta el documento XML uno de los elementos necesarios del elemento Device .
UPNP_E_ICON_ELEMENT_EXPECTED
El documento XML no tiene un elemento icon. Falta en el elemento IconList o el elemento DeviceList no contiene un elemento IconList .
UPNP_E_ICON_NODE_INCOMPLETE
Falta el documento XML uno de los elementos necesarios del elemento Icon .
UPNP_E_ROOT_ELEMENT_EXPECTED
El documento XML no tiene un elemento raíz en el nivel superior del documento.
UPNP_E_SERVICE_ELEMENT_EXPECTED
El documento XML no tiene un elemento de servicio. Falta el elemento ServiceList o el elemento DeviceList no contiene un elemento ServiceList .
UPNP_E_SERVICE_NODE_INCOMPLETE
Falta el documento XML uno de los elementos necesarios del elemento Service .

Comentarios

No se debe llamar a este método desde un subproceso de interfaz de usuario porque puede tardar mucho tiempo en devolverse el método.

Si invoca este método para el mismo objeto inmediatamente después de una invocación anterior, se anula la primera invocación de LoadAsync . Para evitarlo, espere a que la devolución de llamada IUPnPDescriptionDocumentCallback::LoadComplete y, a continuación, use LoadResult para ver la información de estado.

Si un script llama al método LoadAsync dentro de una página web, bstrUrl podría ser una dirección URL relativa. La dirección de la página web actual se usa como dirección URL base.

Si se llama a este método desde una página web, la dirección URL que especifica el autor de la llamada debe hacer referencia al mismo servidor desde el que se cargó la página web.

El objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPDescriptionDocumentCallback o la interfaz IDispatch . El método LoadAsync consulta primero pUnkCallback para la interfaz IUPnPDescriptionDocumentCallback . Si no se admite esta interfaz, el método LoadAsync consulta pUnkCallback para la interfaz IDispatch . Si no se admite la interfaz IDispatch , ambas comprobaciones han fallado y el método LoadAsync devuelve E_FAIL.

La devolución de llamada basada en IDispatch para el método LoadAsync funciona como una función de script que toma un parámetro. Este parámetro es el resultado de la operación de carga. Si el parámetro es cero, la carga se realizó correctamente y el usuario puede recuperar objetos de dispositivo del documento. Si el parámetro es distinto de cero, describe el error. El valor es el mismo que el código de error que devuelve el método IUPnPDescriptionDocument::Load .

En el software de desarrollo de Visual Basic Scripting Edition (VBScript), el segundo argumento debe ser GetRef(funcname), donde funcname es el nombre de la subrutina de devolución de llamada.

Si esta función devuelve S_OK, el marco UPnPDescriptionDocumentCallback::LoadComplete invoca a esta función.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado upnp.h
Archivo DLL Upnp.dll

Consulte también

IUPnPDescriptionDocument

IUPnPDescriptionDocument::Load