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 |
---|---|
|
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 |