Partager via


ISCPSecureQuery2 ::MakeDecision2, méthode (mswmdm.h)

La méthode MakeDecision2 détermine si le fournisseur de contenu sécurisé est responsable du contenu en examinant les données que Windows Media Gestionnaire de périphériques transmet à cette méthode. Cette méthode fournit deux paramètres de sortie pour la gestion des erreurs, un emplacement par défaut pour la mise à jour des composants révoqués et un indicateur de bits indiquant les composants qui ont été révoqués.

Syntaxe

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

Paramètres

[in] fuFlags

Indicateurs décrivant les données offertes au fournisseur de contenu sécurisé pour prendre des décisions. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée. Un ou plusieurs des indicateurs suivants peuvent être combinés à l’aide d’un or au niveau du bit.

Indicateur Description
WMDM_SCP_DECIDE_DATA Le paramètre pData pointe vers les données à examiner.
WMDM_MODE_TRANSFER_PROTECTED Les données de l’objet de sortie de l’interface ISCPSecureExchange doivent être protégées. Si Windows Media Gestionnaire de périphériques ne définit aucun indicateur de mode ou les deux, Windows Media Digital Rights Manager décide si les données de l’objet de sortie de l’interface ISCPSecureExchange doivent être protégées ou non protégées.
WMDM_MODE_TRANSFER_UNPROTECTED Les données de l’objet de sortie de l’interface ISCPSecureExchange doivent être non protégées. Si Windows Media Gestionnaire de périphériques ne définit aucun indicateur de mode ou les deux, Windows Media Digital Rights Manager décide si les données de l’objet de sortie de l’interface ISCPSecureExchange doivent être protégées ou non protégées.

[in] pData

Pointeur vers un objet de données contenant les données à examiner. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée et doit être chiffré.

[in] dwSize

DWORD contenant la taille des données de fichier.

[in] dwAppSec

DWORD qui contient la longueur, en octets, du membre dwAppSec de la structure WMDMRIGHTS du fournisseur de services et du fournisseur de contenu sécurisé à examiner. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée.

[in] pbSPSessionKey

Pointeur vers un tableau d’octets contenant la clé de session pour sécuriser la communication avec le fournisseur de services vers lequel pStgGlobals pointe. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée et doit être chiffré.

[in] dwSessionKeyLen

DWORD contenant la longueur de la clé de session.

[in] pStorageGlobals

Pointeur vers l’interface IWMDMStorageGlobals sur le stockage racine du média ou de l’appareil vers ou à partir duquel le fichier est transféré. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée.

[in] pAppCertApp

Pointeur vers un certificat d’application de l’objet d’application.

[in] dwAppCertAppLen

DWORD contenant la longueur, en octets, du certificat d’application.

[in] pAppCertSP

Pointeur vers le certificat d’application de l’objet fournisseur de services.

[in] dwAppCertSPLen

DWORD contenant la longueur, en octets, du certificat d’application.

[in, out] pszRevocationURL

Pointeur vers une mémoire tampon pour contenir l’URL de révocation.

[in, out] pdwRevocationURLLen

Pointeur vers un DWORD contenant la taille de la mémoire tampon rpszRevocationURL en octets.

[out] pdwRevocationBitFlag

Pointeur vers un DWORD contenant l’indicateur de bit de révocation. La valeur de l’indicateur sera égale à zéro ou à un ou plusieurs des noms d’indicateurs suivants combinés à l’aide d’un or au niveau du bit.

Valeur Description
WMDM_WMDM_REVOKED Windows Media Gestionnaire de périphériques lui-même a été révoqué.
WMDM_APP_REVOKED L’application a été révoquée et doit être mise à jour avant que tout contenu protégé par DRM puisse être transféré.
WMDM_SP_REVOKED Le fournisseur de services a été révoqué et doit être mis à jour avant que tout contenu protégé par DRM puisse lui être transféré.
WMDM_SCP_REVOKED Le fournisseur de contenu sécurisé a été révoqué et doit être mis à jour avant que tout contenu protégé par DRM puisse être transféré.

[in, out] pqwFileSize

Pointeur vers un QWORD contenant la taille de fichier. Le fournisseur de contenu sécurisé est chargé de mettre à jour cette valeur ou de la définir sur zéro si la taille du fichier de destination ne peut pas être déterminée à ce stade.

[in] pUnknown

Pointeur vers une interface inconnue de l’application.

[out] ppExchange

Pointeur vers un objet exchange qui reçoit l’interface exchange.

[in, out] abMac

Tableau de huit octets contenant le code d’authentification de message pour les données de paramètre de cette méthode. (WMDM_MAC_LENGTH est défini sur 8.)

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, elle retourne un code d’erreur HRESULT .

Code de retour Description
WMDM_E_REVOKED
Le certificat d’application utilisé par le fournisseur de contenu sécurisé pour communiquer avec le client DRM a été révoqué.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

ISCPSecureQuery, interface

ISCPSecureQuery2, interface

ISCPSecureQuery ::MakeDecision