Partager via


ISCPSecureQuery3 ::MakeDecisionOnClearChannel, méthode (mswmdm.h)

La méthode MakeDecisionOnClearChannel détermine si l’accès au contenu est autorisé sur un canal en clair. Si l’accès est autorisé, cette méthode retourne l’interface utilisée pour accéder au contenu.

Syntaxe

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

Paramètres

[in] fuFlags

Indicateurs décrivant les données offertes au fournisseur de contenu pour prendre des décisions. Les indicateurs suivants peuvent être présents.

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 définit aucun indicateur de mode ou les deux, la gestion des droits numériques (DRM) détermine si les données d’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 définit aucun indicateur de mode ou les deux, la gestion des droits numériques (DRM) détermine si les données d’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.

[in] dwSize

DWORD qui contient la longueur, en octets, des données à examiner.

[in] dwAppSec

DWORD qui indique le niveau de sécurité actuel de Windows Media Gestionnaire de périphériques. Il s’agit du plus petit des niveaux de sécurité actuels de l’application et du fournisseur de services cible.

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

[in] dwSessionKeyLen

Longueur du tableau d’octets vers lequel pbSPSessionKey pointe.

[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é.

[in] pProgressCallback

Pointeur vers un objet de rappel de progression.

[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 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 est responsable de la mise à jour de cette valeur ou de sa définition 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.

Valeur retournée

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

Code de retour Description
WMDM_E_CALL_OUT_OF_SEQUENCE
Cette méthode a été appelée hors séquence.
WMDM_E_MAC_CHECK_FAILED
Le code d’authentification du message n’est pas valide.
WMDM_E_MOREDATA
Windows Media Gestionnaire de périphériques devez appeler à nouveau cette méthode avec un autre paquet de données. La taille du paquet est déterminée par le paramètre pdwMinDecisionData dans la méthode ISCPSecureQuery ::GetDataDemands .
S_FALSE
L’appelant ne dispose pas des droits requis pour effectuer le transfert demandé.
E_INVALIDARG
Un paramètre n’est pas valide ou est un pointeur NULL .
E_FAIL
Une erreur non spécifiée s'est produite.

Remarques

Cette méthode est identique à ISCPSecureQuery2 ::MakeDecision2 , sauf que les paramètres passés à cette méthode ne sont pas chiffrés. Par conséquent, cette méthode est plus efficace.

Configuration requise

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

Voir aussi

ISCPSecureQuery2 ::MakeDecision2

ISCPSecureQuery3, interface