функция обратного вызова EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID (acxstreams.h)
Событие EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID сообщает драйверу о необходимости назначить идентификатор содержимого для потоковой передачи DRM.
Синтаксис
EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID EvtAcxStreamAssignDrmContentId;
NTSTATUS EvtAcxStreamAssignDrmContentId(
ACXSTREAM Stream,
ULONG ContentId,
PACXDRMRIGHTS DrmRights
)
{...}
Параметры
Stream
Существующий объект ACXSTREAM. Дополнительные сведения см. в разделе ACX — сводка по объектам ACX.
ContentId
Указывает ненулевой идентификатор содержимого DRM, назначенный аудиопотоку ACX с помощью AcxDrmCreateContentMixed. Обратите внимание, что нулевой идентификатор содержимого представляет аудиопоток с правами на содержимое DRM по умолчанию и не может использоваться с этой функцией.
DrmRights
Указывает права на содержимое DRM, назначенные потоку, идентифицируемому с помощью ContentId. Этот параметр является указателем на структуру ACXDRMRIGHTS.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Remarks
Пример
Ниже приведен пример использования.
//
// Init streaming callbacks.
//
ACX_STREAM_CALLBACKS_INIT(&streamCallbacks);
...
streamCallbacks.EvtAcxStreamAssignDrmContentId = EvtStreamAssignDrmContentId;
status = AcxStreamInitAssignAcxStreamCallbacks(StreamInit, &streamCallbacks);
...
_Use_decl_annotations_
PAGED_CODE_SEG
NTSTATUS
EvtStreamAssignDrmContentId(
_In_ ACXSTREAM Stream,
_In_ ULONG DrmContentId,
_In_ PACXDRMRIGHTS DrmRights
)
{
PSTREAM_CONTEXT ctx;
PAGED_CODE();
ctx = GetStreamContext(Stream);
ASSERT(ctx);
ASSERT(ctx->StreamEngine);
return ctx->StreamEngine->AssignDrmContentId(DrmContentId, DrmRights);
}
Требования ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxstreams.h |
IRQL | PASSIVE_LEVEL |