次の方法で共有


EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID コールバック関数 (acxstreams.h)

EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID イベントは、DRM ストリーミングの目的でコンテンツ ID を割り当てるようドライバーに指示します。

構文

EVT_ACX_STREAM_ASSIGN_DRM_CONTENT_ID EvtAcxStreamAssignDrmContentId;

NTSTATUS EvtAcxStreamAssignDrmContentId(
  ACXSTREAM Stream,
  ULONG ContentId,
  PACXDRMRIGHTS DrmRights
)
{...}

パラメーター

Stream

既存の ACXSTREAM オブジェクト。 詳細については、「 ACX - ACX オブジェクトの概要」を参照してください。

ContentId

AcxDrmCreateContentMixed によって ACX オーディオ ストリームに割り当てられる 0 以外の DRM コンテンツ ID を指定します。 0 のコンテンツ ID は、既定の DRM コンテンツ権限を持つオーディオ ストリームを表し、この関数では使用できないことに注意してください。

DrmRights

ContentId によって識別されるストリームに割り当てられる DRM コンテンツ権限を指定します。 このパラメーターは、 ACXDRMRIGHTS 構造体へのポインターです。

戻り値

STATUS_SUCCESS呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。

解説

使用例を次に示します。

    //
    // 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 バージョンの概要」を参照してください。

要件

要件
Header acxstreams.h
IRQL PASSIVE_LEVEL

こちらもご覧ください