ISCPSecureQuery ::MakeDecision, méthode (mswmdm.h)
La méthode MakeDecision détermine si l’accès au contenu est autorisé. Si l’accès est autorisé, cette méthode retourne l’interface qui sera utilisée pour accéder au contenu.
Syntaxe
HRESULT MakeDecision(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[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. 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 ne définit aucun indicateur de mode ou les deux, la gestion des droits numériques détermine 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, la gestion des droits numériques détermine 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 qui contient la longueur, en octets, des données à examiner. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée.
[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. 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
Longueur du tableau d’octets vers lequel pbSPSessionKey pointe. Ce paramètre doit être inclus dans le code d’authentification du message d’entrée.
[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.
[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 |
---|---|
|
Cette méthode a été appelée hors séquence. |
|
Le code d’authentification du message n’est pas valide. |
|
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 . |
|
L’appelant ne dispose pas des droits requis pour effectuer le transfert demandé. |
|
Un paramètre n’est pas valide ou est un pointeur NULL . |
|
Une erreur non spécifiée s'est produite. |
Remarques
Cette méthode est appelée après la méthode ISCPSecureQuery ::ExamineData et prend la décision finale si l’accès au contenu est autorisé.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | mswmdm.h |
Bibliothèque | Mssachlp.lib |