Struttura DRMFORWARD (drmk.h)
La struttura DRMFORWARD contiene le informazioni necessarie per il driver di sistema DRMK per inoltrare un ID contenuto DRM a un dispositivo che gestisce il contenuto protetto.
Sintassi
typedef struct tagDRMFORWARD {
DWORD Flags;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
PVOID Context;
} DRMFORWARD, *PDRMFORWARD;
Members
Flags
Non sono attualmente definiti bit di flag. Impostare questo membro su zero.
DeviceObject
Puntatore all'oggetto dispositivo, ovvero una struttura di sistema di tipo DEVICE_OBJECT.
FileObject
Puntatore all'oggetto file, ovvero una struttura di sistema di tipo FILE_OBJECT.
Context
Puntatore ai dati di contesto. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
Commenti
Questa struttura è uno dei parametri di chiamata della funzione DrmForwardContentToDeviceObject . La struttura contiene le informazioni necessarie alla funzione per inviare una richiesta di KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDproprietà set a un driver WDM.
Il driver WDM gestisce il dispositivo rappresentato dal membro DeviceObject . La funzione DrmForwardContentToDeviceObject invia la richiesta di proprietà a questo oggetto dispositivo.
Quando si costruisce l'IRP che contiene la richiesta di proprietà, la funzione DrmForwardContentToDeviceObject copia il membro FileObject nel campo FileObject nel percorso dello stack I/O del driver in IRP. Se il driver WDM è un driver KS (che implementa tutto o parte di un filtro KS), il membro FileObject rappresenta il pin sul filtro che deve ricevere il flusso contenente il contenuto protetto. Per un driver non KS, i campi di contesto nella struttura FILE_OBJECT possono contenere qualsiasi valore il cui significato è concordato tra il driver e il chiamante della funzione DrmForwardContentToDeviceObject .
Il membro Context contiene un valore di contesto copiato dalla funzione DrmForwardContentToDeviceObject nel descrittore di proprietà della richiesta di proprietà KSPROPERTY_DRMAUDIOSTREAM_CONTENTID set-property (membro Context della struttura KSP_DRMAUDIOSTREAM_CONTENTID). Il membro Context può contenere qualsiasi valore il cui significato è concordato tra il driver e il chiamante della funzione DrmForwardContentToDeviceObject .
Per convenzione, se il modulo downstream è un filtro KS, il membro Context punta a un oggetto file che specifica il pin KS a cui la funzione DrmForwardContentToDeviceObject invia la richiesta di proprietà. In altre parole, il membro Context punta allo stesso oggetto file del membro FileObject .
La struttura DRMFORWARD viene usata anche dalla funzione PcForwardContentToDeviceObject e dal metodo IDrmPort2::ForwardContentToDeviceObject , che sono punti di ingresso alternativi per la funzione DrmForwardContentToDeviceObject . Per altre informazioni, vedere Funzioni e interfacce DRM.
Quando un driver audio inoltra il contenuto DRM a un driver USB fornito dal sistema, si applicano le condizioni seguenti:
- DRMFORWARD. DeviceObject deve essere posizionato nella parte superiore dello stack di dispositivi.
- DRMFORWARD. FileObject può essere NULL perché lo stack USB non usa IO_STACK_LOCATION. FileObject.
- DRMFORWARD. Il contesto deve essere impostato su un valore USBD_PIPE_HANDLE che corrisponde alla pipe utilizzata dal driver audio.
Per informazioni generali su DRM, vedere Digital Rights Management.
Requisiti
Requisito | Valore |
---|---|
Intestazione | drmk.h (include Drmk.h) |
Vedi anche
DrmForwardContentToDeviceObject
IDrmPort2::ForwardContentToDeviceObject