Condividi tramite


Metodo ISCPSecureQuery3::MakeDecisionOnClearChannel (mswmdm.h)

Il metodo MakeDecisionOnClearChannel determina se l'accesso al contenuto è consentito in un canale chiaro. Se l'accesso è consentito, questo metodo restituisce l'interfaccia usata per accedere al contenuto.

Sintassi

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

Parametri

[in] fuFlags

Flag che descrivono i dati offerti al provider di contenuti per prendere decisioni. 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à, digital rights management (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à, digital rights management (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.

[in] dwSize

DWORD contenente la lunghezza, in byte, dei dati da esaminare.

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

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

[in] dwSessionKeyLen

Lunghezza della matrice di byte a cui pbSPSessionKey punta.

[in] pStorageGlobals

Puntatore all'interfaccia IWMDMStorageGlobals nella risorsa di archiviazione radice del supporto o del dispositivo a o da cui viene trasferito il file.

[in] pProgressCallback

Puntatore a un oggetto callback di stato.

[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 contenuti è stato revocato e deve essere aggiornato prima che qualsiasi contenuto protetto da DRM possa essere trasferito.

[in, out] pqwFileSize

Puntatore a un QWORD contenente le dimensioni del file. Il provider di contenuto è 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.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se il metodo 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 è identico a ISCPSecureQuery2::MakeDecision2, ad eccezione del fatto che i parametri passati a questo metodo non vengono crittografati. Di conseguenza, questo metodo è più efficiente.

Requisiti

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

Vedi anche

ISCPSecureQuery2::MakeDecision2

Interfaccia ISCPSecureQuery3