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

DEVICE_OBJECT

DrmForwardContentToDeviceObject

FILE_OBJECT

IDrmPort2::ForwardContentToDeviceObject

KSPROPERTY_DRMAUDIOSTREAM_CONTENTID

KSP_DRMAUDIOSTREAM_CONTENTID

PcForwardContentToDeviceObject