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 |