Compartilhar via


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
WMDM_E_CALL_OUT_OF_SEQUENCE
Esse método foi chamado fora de sequência.
WMDM_E_MAC_CHECK_FAILED
O código de autenticação de mensagem não é válido.
WMDM_E_MOREDATA
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 .
S_FALSE
O chamador não tem os direitos necessários para executar a transferência solicitada.
E_INVALIDARG
Um parâmetro é inválido ou é um ponteiro NULL .
E_FAIL
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

Confira também

ISCPSecureQuery2::MakeDecision2

ISCPSecureQuery3 Interface