Método ISCPSecureExchange3::TransferContainerDataOnClearChannel (mswmdm.h)
El método TransferContainerDataOnClearChannel transfiere los datos del archivo de contenedor al proveedor de contenido a través del canal sin cifrar. El proveedor de contenido desglosa el contenedor internamente e informa de qué partes del contenido están disponibles a medida que se extraen del contenedor.
Este método es idéntico a ISCPSecureExchange::TransferContainerData , salvo que los parámetros pasados a este método no están cifrados. Por lo tanto, este método es más eficaz.
Sintaxis
HRESULT TransferContainerDataOnClearChannel(
IMDSPDevice *pDevice,
BYTE *pData,
DWORD dwSize,
IWMDMProgress3 *pProgressCallback,
UINT *pfuReadyFlags
);
Parámetros
pDevice
Puntero a un objeto de dispositivo.
pData
Puntero a un búfer que contiene los datos actuales que se transfieren desde el archivo de contenedor.
dwSize
Contiene el número de bytes en el búfer.
pProgressCallback
Devolución de llamada de progreso en la que el proveedor de contenido puede notificar el progreso de los pasos que podría necesitar llevar a cabo. El paso se identificará mediante el parámetro EventId de los métodos IWMDMProgress3 .
pfuReadyFlags
Marca que indica qué partes del archivo de contenedor están listas para leerse. Este parámetro se incluye en el código de autenticación del mensaje de salida. Las marcas siguientes indican lo que está listo.
Valor | Significado |
---|---|
|
Los datos del objeto están disponibles llamando al método GetObjectDataOnClearChannel . |
|
El proveedor de contenido ha determinado que no requiere ningún procesamiento adicional ni modificación del archivo que se va a transferir. Windows Media Administrador de dispositivos puede transferir directamente el resto del archivo al dispositivo. |
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si se produce un error en el método, devuelve un código de error HRESULT .
Código devuelto | Descripción |
---|---|
|
El autor de la llamada no está autorizado para usar esta interfaz. |
|
El autor de la llamada no tiene los derechos necesarios para realizar la operación solicitada. |
|
El código de autenticación del mensaje no es válido. |
|
Error en el método. Finalizar la interacción con el proveedor de contenido. |
|
Un parámetro no es válido o es un puntero NULL . |
|
Se ha producido un error no especificado. |
Comentarios
Windows Media Administrador de dispositivos llama repetidamente a este método y transfiere datos del archivo de contenedor al proveedor de contenido. Windows Media Administrador de dispositivos finalmente llama a este método con dwSize establecido en cero para indicar que no tiene más datos que transferir. A medida que el proveedor de contenido recopila los datos y extrae los distintos objetos de él, informa de nuevo a Windows Media Administrador de dispositivos qué objetos, si los hay, están disponibles después de cada llamada. Si no hay ningún objeto disponible, el proveedor de contenido devuelve S_OK con el parámetro pfuReadyFlags establecido en cero. Cuando el proveedor de contenido ha determinado que no requiere ningún procesamiento adicional ni modificación del archivo que se va a transferir, se devuelve la marca WMDM_SCP_NO_MORE_CHANGES. Windows Media Administrador de dispositivos puede transferir directamente el resto del archivo al dispositivo.
Los datos de objeto se transfieren desde el proveedor de contenido llamando al método GetObjectDataOnClearChannel . Windows Media Administrador de dispositivos llama repetidamente a GetObjectDataOnClearChannel hasta que devuelve cero en el tercer parámetro, pdwsize.
Windows Media llama al método ISCPSecureExchange::TransferComplete (o TransferCompleteForDevice si una sesión está activa) Administrador de dispositivos para indicar el final de una transferencia de datos.
Windows Media Administrador de dispositivos pasa la devolución de llamada de progreso proporcionada por la aplicación al proveedor de contenido en el parámetro pProgressCallback. El proveedor de contenido puede usar este parámetro para proporcionar una notificación de progreso para los pasos que necesita llevar a cabo. El propio paso se identifica mediante EventId, que es el primer parámetro de los métodos de IWMDMProgress3. Una implementación específica del proveedor de contenido definirá valores eventId para que las aplicaciones las usen.
Este método es idéntico a ISCPSecureExchange::TransferContainerData , salvo que los parámetros pasados a este método no están cifrados. Por lo tanto, este método es más eficaz.
Requisitos
Plataforma de destino | Windows |
Encabezado | mswmdm.h |
Library | Mssachlp.lib |