DRMFORWARD-Struktur (drmk.h)
Die DRMFORWARD-Struktur enthält die Informationen, die der DRMK-Systemtreiber benötigt, um eine DRM-Inhalts-ID an ein Gerät weiterzuleiten, das geschützte Inhalte verarbeitet.
Syntax
typedef struct tagDRMFORWARD {
DWORD Flags;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
PVOID Context;
} DRMFORWARD, *PDRMFORWARD;
Member
Flags
Derzeit sind keine Flagbits definiert. Legen Sie dieses Element auf 0 (null) fest.
DeviceObject
Zeiger auf das Geräteobjekt, bei dem es sich um eine Systemstruktur vom Typ DEVICE_OBJECT.
FileObject
Zeiger auf das Dateiobjekt, bei dem es sich um eine Systemstruktur vom Typ FILE_OBJECT.
Context
Zeiger auf Kontextdaten. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Hinweise
Diese Struktur ist einer der Aufrufparameter der DrmForwardContentToDeviceObject-Funktion . Die -Struktur enthält die Informationen, die die Funktion benötigt, um eine KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDSet-Property-Anforderung an einen WDM-Treiber zu senden.
Der WDM-Treiber verwaltet das Gerät, das durch das DeviceObject-Element dargestellt wird. Die DrmForwardContentToDeviceObject-Funktion sendet die Eigenschaftsanforderung an dieses Geräteobjekt.
Beim Erstellen des IRP, das die Eigenschaftsanforderung enthält, kopiert die DrmForwardContentToDeviceObject-Funktion den FileObject-Member in das FileObject-Feld am E/A-Stapelspeicherort des Treibers im IRP. Wenn der WDM-Treiber ein KS-Treiber ist (der einen KS-Filter ganz oder teilweise implementiert), stellt das FileObject-Element die Pin auf dem Filter dar, der den Stream empfangen soll, der den geschützten Inhalt enthält. Für einen Nicht-KS-Treiber können die Kontextfelder in der FILE_OBJECT-Struktur jeden Wert enthalten, dessen Bedeutung zwischen dem Treiber und dem Aufrufer der DrmForwardContentToDeviceObject-Funktion vereinbart ist.
Das Context-Element enthält einen Kontextwert, den die DrmForwardContentToDeviceObject-Funktion in den Eigenschaftendeskriptor der KSPROPERTY_DRMAUDIOSTREAM_CONTENTID Set-Property-Anforderung kopiert (das Context-Element der KSP_DRMAUDIOSTREAM_CONTENTID-Struktur). Das Context-Element kann einen beliebigen Wert enthalten, dessen Bedeutung zwischen dem Treiber und dem Aufrufer der DrmForwardContentToDeviceObject-Funktion vereinbart ist.
Wenn das Downstreammodul ein KS-Filter ist, zeigt das Context-Element gemäß der Konvention auf ein Dateiobjekt, das den KS-Pin angibt, an den die DrmForwardContentToDeviceObject-Funktion die Eigenschaftsanforderung sendet. Anders ausgedrückt: Das Context-Element verweist auf dasselbe Dateiobjekt wie das FileObject-Element .
Die DRMFORWARD-Struktur wird auch von der PcForwardContentToDeviceObject-Funktion und der IDrmPort2::ForwardContentToDeviceObject-Methode verwendet, die alternative Einstiegspunkte für die DrmForwardContentToDeviceObject-Funktion sind. Weitere Informationen finden Sie unter DRM-Funktionen und -Schnittstellen.
Wenn ein Audiotreiber DRM-Inhalte an einen vom System bereitgestellten USB-Treiber weiterleitet, gelten die folgenden Bedingungen:
- DRMFORWARD. DeviceObject muss oben im Gerätestapel platziert werden.
- DRMFORWARD. FileObject kann NULL sein, da der USB-Stapel keine IO_STACK_LOCATION verwendet. FileObject.
- DRMFORWARD. Der Kontext muss auf einen USBD_PIPE_HANDLE Wert festgelegt werden, der der vom Audiotreiber verwendeten Pipe entspricht.
Allgemeine Informationen zu DRM finden Sie unter Digital Rights Management.
Anforderungen
Anforderung | Wert |
---|---|
Header | drmk.h (drmk.h einschließen) |
Weitere Informationen
DrmForwardContentToDeviceObject
IDrmPort2::ForwardContentToDeviceObject