Funzione DrmAddContentHandlers (drmk.h)

La DrmAddContentHandlers funzione 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 di 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.

Commenti

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 autentica ogni modulo nel percorso dati a partire dall'estremità 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 essere autenticato correttamente, 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 la funzione DrmForwardContentToInterface o DrmForwardContentToDeviceObject 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 DrmAddContentHandlers funzione .

La matrice paHandlers contiene puntatori a funzione 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 il 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 il 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 e interfacce DRM.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione drmk.h (include Drmk.h)
Libreria Drmk.lib
IRQL PASSIVE_LEVEL

Vedi anche

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

IDrmPort2::AddContentHandlers

IoCallDriver

PcAddContentHandlers