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;
Angehörige
Flags
Zurzeit sind keine Flagbits definiert. Legen Sie dieses Element auf Null fest.
DeviceObject
Zeiger auf das Geräteobjekt, bei dem es sich um eine Systemstruktur vom Typ DEVICE_OBJECThandelt.
FileObject
Zeiger auf das Dateiobjekt, bei dem es sich um eine Systemstruktur vom Typ FILE_OBJECThandelt.
Context
Zeiger auf Kontextdaten. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Bemerkungen
Diese Struktur ist einer der Aufrufparameter der DrmForwardContentToDeviceObject Funktion. Die Struktur enthält die Informationen, die die Funktion zum Senden einer KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDSet-Property-Anforderung an einen WDM-Treiber benötigt.
Der WDM-Treiber verwaltet das Gerät, das durch das DeviceObject Member 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 das FileObject Member in das feld FileObject im IRP-Stapelspeicherort des Treibers. Wenn es sich beim WDM-Treiber um einen KS-Treiber handelt (der einen KS-Filter vollständig oder teilweise implementiert), stellt das FileObject-Element den Pin für den Filter dar, der den Datenstrom mit dem geschützten Inhalt empfängt. Bei einem Nicht-KS-Treiber können die Kontextfelder in der FILE_OBJECT-Struktur beliebige Werte enthalten, deren Bedeutung zwischen dem Treiber und dem Aufrufer der DrmForwardContentToDeviceObject-Funktion vereinbart ist.
Das element Context enthält einen Kontextwert, den die funktion DrmForwardContentToDeviceObject in den Eigenschaftendeskriptor der KSPROPERTY_DRMAUDIOSTREAM_CONTENTID set-property request (Context Member der KSP_DRMAUDIOSTREAM_CONTENTID Struktur) kopiert. Das Context Member kann einen beliebigen Wert enthalten, dessen Bedeutung zwischen dem Treiber und dem Aufrufer der DrmForwardContentToDeviceObject Funktion vereinbart ist.
Wenn das nachgeschaltete Modul ein KS-Filter ist, verweist das Context Member auf ein Dateiobjekt, das den KS-Pin angibt, an den die DrmForwardContentToDeviceObject-Funktion die Eigenschaftsanforderung sendet. Mit anderen Worten verweist das Context Member auf dasselbe Dateiobjekt wie das FileObject Member.
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-Inhalt 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- werden, da der USB-Stapel keine IO_STACK_LOCATION verwendet. FileObject.
- DRMFORWARD. 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 (include Drmk.h) |
Siehe auch
DrmForwardContentToDeviceObject
IDrmPort2::ForwardContentToDeviceObject