Método ISCPSecureQuery3::MakeDecisionOnClearChannel (mswmdm.h)
O método MakeDecisionOnClearChannel determina se o acesso ao conteúdo é permitido em um canal claro. Se o acesso for permitido, esse método retornará a interface usada para acessar o conteúdo.
Sintaxe
HRESULT MakeDecisionOnClearChannel(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[in] IWMDMProgress3 *pProgressCallback,
[in] BYTE *pAppCertApp,
[in] DWORD dwAppCertAppLen,
[in] BYTE *pAppCertSP,
[in] DWORD dwAppCertSPLen,
[in, out] LPWSTR *pszRevocationURL,
[in, out] DWORD *pdwRevocationURLLen,
[out] DWORD *pdwRevocationBitFlag,
[in, out] ULONGLONG *pqwFileSize,
[in] IUnknown *pUnknown,
[out] ISCPSecureExchange **ppExchange
);
Parâmetros
[in] fuFlags
Sinalizadores que descrevem os dados oferecidos ao provedor de conteúdo para tomar decisões. Os sinalizadores a seguir podem estar presentes.
Sinalizador | Descrição |
---|---|
WMDM_SCP_DECIDE_DATA | O parâmetro pData aponta para os dados a serem examinados. |
WMDM_MODE_TRANSFER_PROTECTED | Os dados do objeto de saída da interface ISCPSecureExchange devem ser protegidos. Se o Windows Media Gerenciador de Dispositivos definir nenhum ou ambos os sinalizadores de modo, o DRM (gerenciamento de direitos digitais) decidirá se os dados do objeto de saída da interface ISCPSecureExchange devem ser protegidos ou desprotegidos. |
WMDM_MODE_TRANSFER_UNPROTECTED | Os dados do objeto de saída da interface ISCPSecureExchange devem estar desprotegidos. Se o Windows Media Gerenciador de Dispositivos definir nenhum ou ambos os sinalizadores de modo, o DRM (gerenciamento de direitos digitais) decidirá se os dados do objeto de saída da interface ISCPSecureExchange devem ser protegidos ou desprotegidos. |
[in] pData
Ponteiro para um objeto de dados que contém os dados a serem examinados.
[in] dwSize
DWORD que contém o comprimento, em bytes, dos dados a serem examinados.
[in] dwAppSec
DWORD que indica o nível atual de segurança do Windows Media Gerenciador de Dispositivos. Esse é o menor dos níveis de segurança atuais do aplicativo e do provedor de serviços de destino.
[in] pbSPSessionKey
Ponteiro para uma matriz de bytes que contém a chave de sessão para proteger a comunicação com o provedor de serviços para o qual pStgGlobals aponta.
[in] dwSessionKeyLen
Comprimento da matriz de bytes para a qual pbSPSessionKey aponta.
[in] pStorageGlobals
Ponteiro para a interface IWMDMStorageGlobals no armazenamento raiz da mídia ou dispositivo para ou do qual o arquivo está sendo transferido.
[in] pProgressCallback
Ponteiro para um objeto de retorno de chamada de progresso.
[in] pAppCertApp
Ponteiro para um certificado de aplicativo do objeto de aplicativo.
[in] dwAppCertAppLen
DWORD que contém o comprimento, em bytes, do certificado do aplicativo.
[in] pAppCertSP
Ponteiro para o certificado de aplicativo do objeto do provedor de serviços.
[in] dwAppCertSPLen
DWORD que contém o comprimento, em bytes, do certificado do aplicativo.
[in, out] pszRevocationURL
Ponteiro para um buffer para manter a URL de revogação.
[in, out] pdwRevocationURLLen
Ponteiro para um DWORD que contém o tamanho do buffer rpszRevocationURL em bytes.
[out] pdwRevocationBitFlag
Ponteiro para um DWORD que contém o sinalizador de bits de revogação. O valor do sinalizador será zero ou um ou mais dos seguintes nomes de sinalizador combinados usando um OR bit a bit.
Valor | Descrição |
---|---|
WMDM_WMDM_REVOKED | O próprio Gerenciador de Dispositivos do Windows Media foi revogado. |
WMDM_APP_REVOKED | O aplicativo foi revogado e precisa ser atualizado antes que qualquer conteúdo protegido por DRM possa ser transferido. |
WMDM_SP_REVOKED | O provedor de serviços foi revogado e precisa ser atualizado antes que qualquer conteúdo protegido por DRM possa ser transferido para ele. |
WMDM_SCP_REVOKED | O provedor de conteúdo foi revogado e precisa ser atualizado antes que qualquer conteúdo protegido por DRM possa ser transferido. |
[in, out] pqwFileSize
Ponteiro para um QWORD que contém o tamanho do arquivo. O provedor de conteúdo é responsável por atualizar esse valor ou defini-lo como zero se o tamanho do arquivo de destino não puder ser determinado neste ponto.
[in] pUnknown
Ponteiro para uma interface desconhecida do aplicativo.
[out] ppExchange
Ponteiro para um objeto exchange que recebe a interface de troca.
Retornar valor
Se o método for bem-sucedido, retornará S_OK. Se o método falhar, ele retornará um código de erro HRESULT .
Código de retorno | Descrição |
---|---|
|
Esse método foi chamado fora de sequência. |
|
O código de autenticação de mensagem não é válido. |
|
Os Gerenciador de Dispositivos do Windows Media devem chamar esse método novamente com outro pacote de dados. O tamanho do pacote é determinado pelo parâmetro pdwMinDecisionData no método ISCPSecureQuery::GetDataDemands . |
|
O chamador não tem os direitos necessários para executar a transferência solicitada. |
|
Um parâmetro é inválido ou é um ponteiro NULL . |
|
Ocorreu um erro não especificado. |
Comentários
Esse método é idêntico a ISCPSecureQuery2::MakeDecision2 , exceto que os parâmetros passados para esse método não são criptografados. Consequentemente, esse método é mais eficiente.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | mswmdm.h |
Biblioteca | Mssachlp.lib |