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 |