DRMFORWARD - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// drmk.h

typedef struct tagDRMFORWARD {
  DWORD          Flags;
  PDEVICE_OBJECT DeviceObject;
  PFILE_OBJECT   FileObject;
  PVOID          Context;
} DRMFORWARD, *PDRMFORWARD;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-drmk-tagdrmforward)

tagDRMFORWARD structure

Description

The DRMFORWARD structure contains the information that the DRMK system driver needs in order to forward a DRM content ID to a device that handles protected content.

Members

Flags

No flag bits are currently defined. Set this member to zero.

DeviceObject

Pointer to the device object, which is a system structure of type DEVICE_OBJECT.

FileObject

Pointer to the file object, which is a system structure of type FILE_OBJECT.

Context

Pointer to context data. For more information, see the following Remarks section.

Remarks

This structure is one of the DrmForwardContentToDeviceObject function's call parameters. The structure contains the information that the function needs to send a KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property request to a WDM driver.

The WDM driver manages the device that is represented by the DeviceObject member. The DrmForwardContentToDeviceObject function sends the property request to this device object.

When constructing the IRP that contains the property request, the DrmForwardContentToDeviceObject function copies the FileObject member into the FileObject field in the driver's I/O stack location in the IRP. If the WDM driver is a KS driver (which implements all or part of a KS filter), the FileObject member represents the pin on the filter that is to receive the stream containing the protected content. For a non-KS driver, the context fields in the FILE_OBJECT structure can contain any value whose meaning is agreed upon between the driver and the caller of the DrmForwardContentToDeviceObject function.

The Context member contains a context value that the DrmForwardContentToDeviceObject function copies into the property descriptor of the KSPROPERTY_DRMAUDIOSTREAM_CONTENTID set-property request (the KSP_DRMAUDIOSTREAM_CONTENTID structure's Context member). The Context member can contain any value whose meaning is agreed upon between the driver and the caller of the DrmForwardContentToDeviceObject function.

By convention, if the downstream module is a KS filter, the Context member points to a file object that specifies the KS pin to which the DrmForwardContentToDeviceObject function sends the property request. In other words, the Context member points to the same file object as the FileObject member.

The DRMFORWARD structure is also used by the PcForwardContentToDeviceObject function and the IDrmPort2::ForwardContentToDeviceObject method, which are alternative entry points for the DrmForwardContentToDeviceObject function. For more information, see DRM Functions and Interfaces.

When an audio driver forwards DRM content to a system-supplied USB driver, the following conditions apply:

For general information about DRM, see Digital Rights Management.

See also

DEVICE_OBJECT

DrmForwardContentToDeviceObject

FILE_OBJECT

IDrmPort2::ForwardContentToDeviceObject

KSPROPERTY_DRMAUDIOSTREAM_CONTENTID

KSP_DRMAUDIOSTREAM_CONTENTID

PcForwardContentToDeviceObject