Condividi tramite


Metodo ISCPSecureQuery::MakeDecision (mswmdm.h)

Il metodo MakeDecision determina se è consentito l'accesso al contenuto. Se l'accesso è consentito, questo metodo restituisce l'interfaccia che verrà usata per accedere al contenuto.

Sintassi

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

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. I flag seguenti possono essere presenti.

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à, DRM 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à, DRM 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 la lunghezza, in byte, dei dati da esaminare. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input.

[in] dwAppSec

DWORD che indica il livello corrente di sicurezza di Windows Media Gestione dispositivi. Si tratta dei livelli di sicurezza correnti dell'applicazione e del provider di servizi di destinazione. 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

Lunghezza della matrice di byte a cui pbSPSessionKey punta. Questo parametro deve essere incluso nel codice di autenticazione del messaggio di input.

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

[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_CALL_OUT_OF_SEQUENCE
Questo metodo è stato chiamato fuori dalla sequenza.
WMDM_E_MAC_CHECK_FAILED
Il codice di autenticazione del messaggio non è valido.
WMDM_E_MOREDATA
Windows Media Gestione dispositivi deve chiamare di nuovo questo metodo con un altro pacchetto di dati. Le dimensioni del pacchetto sono determinate dal parametro pdwMinDecisionData nel metodo ISCPSecureQuery::GetDataDemands .
S_FALSE
Il chiamante non dispone dei diritti necessari per eseguire il trasferimento richiesto.
E_INVALIDARG
Un parametro non è valido o è un puntatore NULL .
E_FAIL
Si è verificato un errore non specificato.

Commenti

Questo metodo viene chiamato dopo il metodo ISCPSecureQuery::ExamineData e prende la decisione finale se è consentito l'accesso al contenuto.

Requisiti

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

Vedi anche

Interfaccia ISCPSecureExchange

Interfaccia ISCPSecureQuery

ISCPSecureQuery2::MakeDecision2

Interfaccia IWMDMStorageGlobals