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.
typedef struct tagDRMFORWARD
{
DWORD Flags;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
PVOID Context;
} DRMFORWARD, *PDRMFORWARD;
Declared in drmk.h. Include drmk.h.
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_CONTENTID set-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.
This 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.
For general information about DRM, see Digital Rights Management.
DEVICE_OBJECT, FILE_OBJECT, DrmForwardContentToDeviceObject, KSPROPERTY_DRMAUDIOSTREAM_CONTENTID, KSP_DRMAUDIOSTREAM_CONTENTID, PcForwardContentToDeviceObject, IDrmPort2::ForwardContentToDeviceObject