Freigeben über


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

DEVICE_OBJECT

DrmForwardContentToDeviceObject

FILE_OBJECT

IDrmPort2::ForwardContentToDeviceObject

KSPROPERTY_DRMAUDIOSTREAM_CONTENTID

KSP_DRMAUDIOSTREAM_CONTENTID

PcForwardContentToDeviceObject