Condividi tramite


Metodo ISCPSecureQuery2::MakeDecision2 (mswmdm.h)

Il metodo MakeDecision2 determina se il provider di contenuto sicuro è responsabile del contenuto esaminando i dati che Windows Media Gestione dispositivi passa a questo metodo. Questo metodo fornisce due parametri di output per la gestione degli errori, un percorso predefinito per l'aggiornamento dei componenti revocati e un flag bit che indica quali componenti sono stati revocati.

Sintassi

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

Parametri

[in] fuFlags

Flag che descrivono i dati offerti al provider di contenuto sicuro per prendere decisioni. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input. Uno o più flag seguenti possono essere combinati usando un OR bit per bit.

Flag Descrizione
WMDM_SCP_DECIDE_DATA Il parametro pData punta ai dati da esaminare.
WMDM_MODE_TRANSFER_PROTECTED I dati dell'oggetto di output dell'interfaccia ISCPSecureExchange devono essere protetti. Se Windows Media Gestione dispositivi imposta nessuno o entrambi i flag di modalità, Windows Media Digital Rights Manager decide se i dati dell'oggetto di output dell'interfaccia ISCPSecureExchange devono essere protetti o non protetti.
WMDM_MODE_TRANSFER_UNPROTECTED I dati dell'oggetto di output dell'interfaccia ISCPSecureExchange devono essere non protetti. Se Windows Media Gestione dispositivi imposta nessuno o entrambi i flag di modalità, Windows Media Digital Rights Manager decide se i dati dell'oggetto di output dell'interfaccia ISCPSecureExchange devono essere protetti o non protetti.

[in] pData

Puntatore a un oggetto dati contenente i dati da esaminare. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input e deve essere crittografato.

[in] dwSize

DWORD contenente le dimensioni dei dati del file.

[in] dwAppSec

DWORD contenente la lunghezza, in byte, del membro dwAppSec della struttura WMDMRIGHTS del provider di servizi e del provider di contenuto sicuro da esaminare. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input.

[in] pbSPSessionKey

Puntatore a una matrice di byte contenente la chiave di sessione per proteggere la comunicazione con il provider di servizi a cui pStgGlobals punta. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input e deve essere crittografato.

[in] dwSessionKeyLen

DWORD contenente la lunghezza della chiave di sessione.

[in] pStorageGlobals

Puntatore all'interfaccia IWMDMStorageGlobals nella risorsa di archiviazione radice del supporto o del dispositivo a o da cui viene trasferito il file. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input.

[in] pAppCertApp

Puntatore a un certificato dell'applicazione dell'oggetto applicazione.

[in] dwAppCertAppLen

DWORD contenente la lunghezza, in byte, del certificato dell'applicazione.

[in] pAppCertSP

Puntatore al certificato dell'applicazione dell'oggetto provider di servizi.

[in] dwAppCertSPLen

DWORD contenente la lunghezza, in byte, del certificato dell'applicazione.

[in, out] pszRevocationURL

Puntatore a un buffer per contenere l'URL di revoca.

[in, out] pdwRevocationURLLen

Puntatore a una DWORD contenente le dimensioni del buffer rpszRevocationURL in byte.

[out] pdwRevocationBitFlag

Puntatore a un DWORD contenente il flag di bit di revoca. Il valore del flag sarà zero o uno o più dei nomi di flag seguenti combinati usando un or bit per bit.

Valore Descrizione
WMDM_WMDM_REVOKED Windows Media Gestione dispositivi è stato revocato.
WMDM_APP_REVOKED L'applicazione è stata revocata e deve essere aggiornata prima che sia possibile trasferire qualsiasi contenuto protetto da DRM.
WMDM_SP_REVOKED Il provider di servizi è stato revocato e deve essere aggiornato prima che qualsiasi contenuto protetto da DRM possa essere trasferito a esso.
WMDM_SCP_REVOKED Il provider di contenuto sicuro è stato revocato e deve essere aggiornato prima che sia possibile trasferire qualsiasi contenuto protetto da DRM.

[in, out] pqwFileSize

Puntatore a un QWORD contenente le dimensioni del file. Il provider di contenuto sicuro è responsabile dell'aggiornamento di questo valore o dell'impostazione su zero se la dimensione del file di destinazione non può essere determinata a questo punto.

[in] pUnknown

Puntatore a un'interfaccia sconosciuta dall'applicazione.

[out] ppExchange

Puntatore a un oggetto exchange che riceve l'interfaccia di scambio.

[in, out] abMac

Matrice di otto byte contenente il codice di autenticazione dei messaggi per i dati dei parametri di questo metodo. (WMDM_MAC_LENGTH è definito come 8.)

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, restituisce un codice di errore HRESULT .

Codice restituito Descrizione
WMDM_E_REVOKED
Il certificato dell'applicazione usato dal provider di contenuto sicuro per comunicare con il client DRM è stato revocato.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Interfaccia ISCPSecureQuery

Interfaccia ISCPSecureQuery2

ISCPSecureQuery::MakeDecision