Método ISCPSecureExchange2::TransferContainerData2 (mswmdm.h)
O método TransferContainerData2 transfere dados de arquivo de contêiner para o provedor de conteúdo seguro. O provedor de conteúdo seguro divide o contêiner internamente e relata quais partes do conteúdo estão disponíveis à medida que são extraídas do contêiner. Esse método estende ISCPSecureExchange::TransferContainerData aceitando um retorno de chamada de progresso no qual o provedor de conteúdo seguro pode enviar notificações de progresso para qualquer uma das etapas que precisa executar.
Sintaxe
HRESULT TransferContainerData2(
[in] BYTE *pData,
[in] DWORD dwSize,
[in] IWMDMProgress3 *pProgressCallback,
[out] UINT *pfuReadyFlags,
[in, out] BYTE [8] abMac
);
Parâmetros
[in] pData
Ponteiro para um buffer que contém os dados atuais que estão sendo transferidos do arquivo de contêiner. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada e deve ser criptografado.
[in] dwSize
DWORD que contém o número de bytes no buffer. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada.
[in] pProgressCallback
Retorno de chamada de progresso no qual o provedor de conteúdo seguro pode relatar o progresso de qualquer etapa que possa precisar executar. A etapa será identificada pelo parâmetro EventId dos métodos IWMDMProgress3 .
[out] pfuReadyFlags
Sinalizador indicando quais partes do arquivo de contêiner estão prontas para serem lidas. Esse parâmetro está incluído no código de autenticação de mensagem de saída. Os sinalizadores a seguir indicam o que está pronto.
Sinalizador | Descrição |
---|---|
WMDM_SCP_TRANSFER_OBJECTDATA | Os dados do objeto estão disponíveis chamando o método ObjectData . |
WMDM_SCP_NO_MORE_CHANGES | O provedor de conteúdo seguro determinou que não requer nenhum processamento adicional e/ou modificação do arquivo que está sendo transferido. O Windows Media Gerenciador de Dispositivos pode transferir diretamente o restante do arquivo para o dispositivo. |
[in, out] abMac
Matriz de oito bytes que contém o código de autenticação de mensagem para os dados de parâmetro desse método. (WMDM_MAC_LENGTH é definido como 8.)
Retornar valor
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro HRESULT .
Código de retorno | Descrição |
---|---|
|
O chamador não está autorizado a usar essa interface. |
|
O chamador não tem os direitos necessários para executar a operação solicitada. |
|
O código de autenticação de mensagem não é válido. |
|
O método falhou. Encerre a interação com o provedor de conteúdo seguro. |
|
Um parâmetro é inválido ou é um ponteiro NULL . |
|
Ocorreu um erro não especificado. |
Comentários
O Windows Media Gerenciador de Dispositivos chama esse método repetidamente, transferindo dados do arquivo de contêiner para o provedor de conteúdo seguro. O Windows Media Gerenciador de Dispositivos eventualmente chama esse método com dwSize definido como zero para indicar que ele não tem mais dados a serem transferidos. Como o provedor de conteúdo seguro coleta os dados e extrai os vários objetos dele, ele relata de volta ao Windows Media Gerenciador de Dispositivos quais objetos, se houver, estão disponíveis após cada chamada. Se nenhum objeto estiver disponível, o provedor de conteúdo seguro retornará S_OK com o parâmetro pfuReadyFlags definido como zero. Quando o provedor de conteúdo seguro tiver determinado que não requer processamento adicional e/ou modificação do arquivo que está sendo transferido, o sinalizador WMDM_SCP_NO_MORE_CHANGES será retornado. Os Gerenciador de Dispositivos do Windows Media podem transferir diretamente o restante do arquivo para o dispositivo.
Os dados do objeto são transferidos do provedor de conteúdo seguro chamando o método ObjectData . O Windows Media Gerenciador de Dispositivos chama ObjectData repetidamente até que ele retorne zero no segundo parâmetro, dwBytesWrite.
O método TransferComplete é chamado pelo Windows Media Gerenciador de Dispositivos para sinalizar o fim de uma transferência segura de dados.
O Windows Media Gerenciador de Dispositivos passa o retorno de chamada de progresso fornecido pelo aplicativo para o provedor de conteúdo seguro no parâmetro pProgressCallback. O provedor de conteúdo seguro pode usar esse parâmetro para fornecer notificação de progresso para todas as etapas que ele precisa executar. A etapa em si é identificada por EventId, que é o primeiro parâmetro dos métodos de IWMDMProgress3. Uma implementação específica do provedor de conteúdo seguro definirá valores EventId para os aplicativos usarem.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | mswmdm.h |
Biblioteca | Mssachlp.lib |