Condividi tramite


Funzione DrmAddContentHandlers (drmk.h)

La funzione DrmAddContentHandlers fornisce al sistema un elenco di funzioni che gestiscono il contenuto protetto.

Sintassi

NTSTATUS DrmAddContentHandlers(
  [in] ULONG ContentId,
  [in] PVOID *paHandlers,
  [in] ULONG NumHandlers
);

Parametri

[in] ContentId

Specifica l'ID contenuto DRM. Questo parametro identifica un flusso audio KS protetto.

[in] paHandlers

Puntatore a una matrice di puntatori a funzione. Ogni elemento della matrice punta a un gestore del contenuto.

[in] NumHandlers

Specifica il numero di puntatori a funzione nella matrice paHandlers.

Valore restituito

DrmAddContentHandlers restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Osservazioni

Prima di consentire il flusso del contenuto protetto attraverso un percorso dati, il sistema verifica che il percorso dati sia sicuro. A tale scopo, il sistema esegue l'autenticazione di ogni modulo nel percorso dati a partire dalla fine upstream del percorso dati e lo spostamento a valle. Quando ogni modulo viene autenticato, tale modulo fornisce le informazioni di sistema sul modulo successivo nel percorso dati in modo che possa anche essere autenticato. Per l'autenticazione corretta, il file binario di un modulo deve essere firmato come conforme a DRM.

Se due moduli adiacenti comunicano tra loro tramite la funzione IoCallDriver o l'interfaccia COM del modulo downstream, il modulo upstream chiama rispettivamente il DrmForwardContentToInterface o funzione DrmForwardContentToDeviceObject, rispettivamente, per fornire al sistema informazioni sul modulo downstream. Tuttavia, se i due moduli usano qualsiasi altro tipo di interfaccia per comunicare, il modulo upstream chiama invece la funzione DrmAddContentHandlers.

La matrice paHandlers contiene puntatori a funzioni ai punti di ingresso nel modulo downstream. DrmAddContentHandlers autentica il modulo che implementa queste funzioni. Se i punti di ingresso vengono distribuiti tra più moduli, la funzione autentica tutti questi moduli. Le funzioni definite dal fornitore in questa matrice costituiscono un'interfaccia compresa sia dal modulo che chiama le funzioni che dal modulo che implementa le funzioni. DrmAddContentHandlers non chiama direttamente alcuna di queste funzioni.

Il modulo upstream può passare sia l'ID contenuto che i diritti di contenuto al modulo downstream usando una delle funzioni nella matrice paHandlers a questo scopo. Il modulo downstream richiede l'ID contenuto per consigliare al sistema di tutti i moduli a cui invia il contenuto protetto.

DrmAddContentHandlers esegue la stessa funzione di PcAddContentHandlers e IDrmPort2::AddContentHandlers. Per altre informazioni, vedere funzioni DRM e interfacce.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione drmk.h (include Drmk.h)
libreria Drmk.lib
IRQL PASSIVE_LEVEL

Vedere anche

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

IDrmPort2::AddContentHandlers

IoCallDriver

PcAddContentHandlers