Структура DRMFORWARD (drmk.h)
Структура DRMFORWARD содержит сведения, необходимые драйверу системы DRMK DRMK, чтобы перенаправить идентификатор содержимого DRM на устройство, которое обрабатывает защищенное содержимое.
Синтаксис
typedef struct tagDRMFORWARD {
DWORD Flags;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
PVOID Context;
} DRMFORWARD, *PDRMFORWARD;
Члены
Flags
В настоящее время биты флагов не определены. Установите для этого элемента значение нулю.
DeviceObject
Указатель на объект устройства, который представляет собой системную структуру типа DEVICE_OBJECT.
FileObject
Указатель на объект файла, который представляет собой системную структуру типа FILE_OBJECT.
Context
Указатель на контекстные данные. Дополнительные сведения см. в следующем разделе "Примечания".
Замечания
Эта структура является одним из параметров вызова функции DrmForwardContentToDeviceObject. Структура содержит сведения, необходимые функции для отправки запроса KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property в драйвер WDM.
Драйвер WDM управляет устройством, представленным элементом DeviceObject. Функция DrmForwardContentToDeviceObject отправляет запрос свойства этому объекту устройства.
При создании IRP, содержащего запрос свойства , функция dr DrmForwardContentToDeviceObject копирует элемент FileObject в поле FileObject в расположении стека ввода-вывода драйвера в IRP. Если драйвер WDM является драйвером KS (который реализует все или часть фильтра KS), элемент FileObject представляет закрепление фильтра, который предназначен для получения потока, содержащего защищенное содержимое. Для драйвера, отличного от KS, поля контекста в структуре FILE_OBJECT могут содержать любое значение, значение которого согласовано между драйвером и вызывающим функцией drmForwardContentToDeviceObject.
Элемент Context содержит значение контекста, которое функция DrmForwardContentToDeviceObject копируется в дескриптор свойства запроса KSPROPERTY_DRMAUDIOSTREAM_CONTENTID set-property (член контекста KSP_DRMAUDIOSTREAM_CONTENTID структуры). Элемент контекста может содержать любое значение, значение которого согласовано между драйвером и вызывающим элементом DrmForwardContentToDeviceObject.
По соглашению, если подчиненный модуль является фильтром KS, функция Context указывает на объект файла, указывающий пин-код KS, к которому отправляется запрос свойства DrmForwardContentToDeviceObj ect. Другими словами, элемент контекста указывает на тот же объект файла, что и элемент FileObject.
Структура DRMFORWARD также используется функцией PcForwardContentToDeviceObject и IDrmPort2::ForwardContentToDeviceObject, которые являются альтернативными точками входа для функции DrmForwardContentToDeviceObject. Дополнительные сведения см. в функций и интерфейсов DRM.
Если звуковой драйвер перенаправит содержимое DRM в usb-драйвер, предоставленный системой, применяются следующие условия:
- DRMFORWARD. DeviceObject необходимо разместить в верхней части стека устройств.
- DRMFORWARD. FileObject можно null, так как стек USB не использует IO_STACK_LOCATION. FileObject.
- DRMFORWARD. Контекст должен иметь значение USBD_PIPE_HANDLE, соответствующее каналу, используемому звуковым драйвером.
Общие сведения о DRM см. в Digital Rights Management.
Требования
Требование | Ценность |
---|---|
заголовка | drmk.h (include Drmk.h) |
См. также
DrmForwardContentToDeviceObject
IDrmPort2::ForwardContentToDeviceObject