Funzione DRMForwardContentToInterface (drmk.h)
La DrmForwardContentToInterface
funzione accetta un puntatore all'interfaccia COM di un oggetto a cui il chiamante intende inoltrare contenuto protetto. La funzione autentica l'oggetto e invia l'oggetto i diritti CONTENT ID e DRM assegnati al contenuto protetto dal sistema.
Sintassi
NTSTATUS DrmForwardContentToInterface(
[in] ULONG ContentId,
[in] PUNKNOWN pUnknown,
[in] ULONG NumMethods
);
Parametri
[in] ContentId
Specifica l'ID contenuto DRM. Questo parametro identifica un flusso audio KS protetto.
[in] pUnknown
Puntatore a un'interfaccia COM che riceve direttamente i dati del flusso audio KS per un filtro audio KS.
[in] NumMethods
Specifica il numero totale di metodi nell'interfaccia COM a cui pUnknown punta, inclusi tutti i metodi nelle interfacce di base.
Valore restituito
DrmForwardContentToInterface
restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato. La tabella seguente mostra alcuni dei possibili codici di stato restituiti.
Codice restituito | Descrizione |
---|---|
|
Indica che il flusso audio KS associato a pUnknown non supporta i diritti di contenuto DRM assegnati a ContentId. |
Commenti
Prima di consentire il flusso del contenuto protetto attraverso un percorso dati, il sistema verifica che il percorso dei dati sia sicuro. A tale scopo, il sistema autentica ogni modulo nel percorso dati a partire dalla fine upstream del percorso dati e lo spostamento a valle. Poiché ogni modulo viene autenticato, tale modulo fornisce le informazioni di sistema sul modulo successivo nel percorso dati in modo che possa essere autenticato anche. Per essere autenticato correttamente, il file binario di un modulo deve essere firmato come conforme a DRM.
Se due moduli adiacenti nel percorso dati comunicano tra loro tramite l'interfaccia COM del modulo downstream, il modulo upstream chiama la funzione per fornire al DrmForwardContentToInterface
sistema un puntatore all'interfaccia COM. Se i due moduli comunicano tramite la funzione IoCallDriver o i gestori del contenuto del modulo downstream, il modulo upstream chiama invece DRMForwardContentToDeviceObject o DrmAddContentHandlers .
DrmForwardContentToInterface
autentica il modulo che implementa i metodi nell'interfaccia COM a cui fa riferimento pUnknown. Se i metodi vengono distribuiti tra diversi moduli, la funzione autentica tutti questi moduli. Questa interfaccia definita dal fornitore deve essere compresa sia dal modulo che chiama l'interfaccia che dal modulo che implementa l'interfaccia. DrmForwardContentToInterface
non presuppone che questa interfaccia sia diversa da quella derivata da IUnknown.
Se DrmForwardContentToInterface
ha esito positivo nell'autenticazione del driver o della libreria, esegue le operazioni seguenti:
-
Esegue query sull'interfaccia pUnknown per l'interfaccia IDrmAudioStream . Si noti che, anche se l'autenticazione
DrmForwardContentToInterface
di tutti i metodi nell'interfaccia pUnknown, non chiama alcun metodo nell'interfaccia pUnknown diverso dai metodi IUnknown di base. -
Chiama IDrmAudioStream::SetContentId per impostare l'ID contenuto DRM e i diritti di contenuto DRM nel flusso audio. Prima di restituire,
DrmForwardContentToInterface
rilascia l'interfaccia IDrmAudioStream .
DrmForwardContentToInterface
esegue la stessa funzione di PcForwardContentToInterface e IDrmPort::ForwardContentToInterface. 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per