Compartilhar via


Método ISCPSecureExchange::TransferContainerData (mswmdm.h)

O método TransferContainerData 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.

Sintaxe

HRESULT TransferContainerData(
  [in]      BYTE     *pData,
  [in]      DWORD    dwSize,
  [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.

[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 Defina quando o provedor de conteúdo seguro determinou que não requer 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
WMDM_E_NOT_CERTIFIED
O chamador não está autorizado a usar essa interface.
WMDM_E_NORIGHTS
O chamador não tem os direitos necessários para executar a operação solicitada.
WMDM_E_MAC_CHECK_FAILED
O código de autenticação de mensagem não é válido.
S_FALSE
O método falhou. Encerre a interação com o provedor de conteúdo seguro.
E_INVALIDARG
Um parâmetro é inválido ou é um ponteiro NULL .
E_FAIL
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.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

ISCPSecureExchange Interface