Compartilhar via


Método ISCPSecureQuery2::MakeDecision2 (mswmdm.h)

O método MakeDecision2 determina se o provedor de conteúdo seguro é responsável pelo conteúdo examinando os dados que o Windows Media Gerenciador de Dispositivos passa para esse método. Esse método fornece dois parâmetros de saída para tratamento de erros, um local padrão para atualizar componentes revogados e um sinalizador de bits que indica quais componentes foram revogados.

Sintaxe

HRESULT MakeDecision2(
  [in]      UINT                fuFlags,
  [in]      BYTE                *pData,
  [in]      DWORD               dwSize,
  [in]      DWORD               dwAppSec,
  [in]      BYTE                *pbSPSessionKey,
  [in]      DWORD               dwSessionKeyLen,
  [in]      IMDSPStorageGlobals *pStorageGlobals,
  [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,
  [in, out] BYTE [8]            abMac
);

Parâmetros

[in] fuFlags

Sinalizadores que descrevem os dados oferecidos ao provedor de conteúdo seguro para tomar decisões. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada. Um ou mais dos sinalizadores a seguir podem ser combinados usando um OR bit a bit.

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 Windows Media Digital Rights Manager 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 Windows Media Digital Rights Manager 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. 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 tamanho dos dados do arquivo.

[in] dwAppSec

DWORD que contém o comprimento, em bytes, do membro dwAppSec da estrutura WMDMRIGHTS do provedor de serviços e provedor de conteúdo seguro a ser examinado. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada.

[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. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada e deve ser criptografado.

[in] dwSessionKeyLen

DWORD que contém o comprimento da chave de sessão.

[in] pStorageGlobals

Ponteiro para a interface IWMDMStorageGlobals no armazenamento raiz da mídia ou dispositivo para ou do qual o arquivo está sendo transferido. Esse parâmetro deve ser incluído no código de autenticação de mensagem de entrada.

[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 do 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 nomes de sinalizador a seguir 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 seguro 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 seguro é responsável por atualizar esse valor ou defini-lo como zero se o tamanho do arquivo de destino não puder ser determinado neste momento.

[in] pUnknown

Ponteiro para uma interface desconhecida do aplicativo.

[out] ppExchange

Ponteiro para um objeto exchange que recebe a interface de troca.

[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_REVOKED
O certificado de aplicativo que o provedor de conteúdo seguro usa para se comunicar com o cliente DRM foi revogado.

Requisitos

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

Confira também

ISCPSecureQuery Interface

ISCPSecureQuery2 Interface

ISCPSecureQuery::MakeDecision