次の方法で共有


IDrmPort::CreateContentMixed メソッド (portcls.h)

CreateContentMixed メソッドは、一部の KS オーディオ ストリームからの混合コンテンツを含む複合ストリームの DRM コンテンツ権限を計算します。 このメソッドは、DrmCreateContentMixed 関数と同じ操作であり、そのパラメーター定義と戻り値も同じであることに注意してください。

構文

NTSTATUS CreateContentMixed(
  PULONG paContentId,
  ULONG  cContentId,
  PULONG pMixedContentId
);

パラメーター

paContentId

DRM コンテンツ ID の配列へのポインター。 各配列要素は ULONG 型で、保護された KS オーディオ ストリームを表すコンテンツ ID が含まれています。 cContentId が 0 の場合、paContentID は NULL にすることができます。 コンテンツ ID が 0 の場合は、既定の DRM コンテンツ権限を持つオーディオ ストリームを表す特殊な値です (DEFINE_DRMRIGHTS_DEFAULTを参照)。

cContentId

paContentId 配列内の DRM コンテンツ ID の数を指定します。 配列には、0 個以上のコンテンツ ID を保持できます。

pMixedContentId

複合コンテンツ ID の出力ポインター。 このパラメーターは、関数が複合 KS オーディオ ストリームの新しいコンテンツ ID を書き込む呼び出し元によって割り当てられた ULONG 変数を指します。 cContentId が 0 の場合、関数は既定の DRM コンテンツ権限を新しいコンテンツ ID に割り当てます。

戻り値

このメソッドは NTSTATUS を返します。呼び出しが成功した場合STATUS_SUCCESS。 それ以外の場合は、適切なエラー コードが返されます。

備考

KS オーディオ フィルターは、DrmCreateContentMixed 関数を呼び出して、複合ストリームの DRM コンテンツ ID を取得します。 このフィルターは、コンテンツ ID が paContentId 配列にリストされている KS オーディオ ストリームを混在させることによって、このストリームを生成します。 このミキサー入力のストリームのコンテンツ ID の一覧を考えると、関数は複合ストリームのコンテンツ権限を計算し、そのストリームに新しいコンテンツ ID を割り当てます。

呼び出し元がコンテンツ ID を指定しない場合 (つまり、cContentId がゼロの場合)、関数は複合ストリームを識別するために作成するコンテンツ ID に既定のコンテンツ権限を割り当てます。

DrmCreateContentMixed からコンテンツ ID を取得した後、呼び出し元は DrmGetContentRights を呼び出すことによって、コンテンツ ID に割り当てられたコンテンツ権限を取得できます。

複合オーディオ ストリームのいずれかのコンポーネントのコンテンツ権限を変更した後、ストリームを混在させる KS オーディオ フィルターは DrmCreateContentMixed を呼び出して、複合オーディオ ストリームの新しいコンテンツ ID を取得する必要があります。 DrmCreateContentMixed は、paContentId 配列で指定された個々のコンテンツ ID に割り当てられるコンテンツ権限の中で最も制限の厳しい権限を決定し、これらの権限を新しいコンテンツ ID に割り当てます。

DrmCreateContentMixed を使用して作成したコンテンツ ID を使用して KS オーディオ フィルターが終了した後、フィルターは DrmDestroyContent を呼び出してコンテンツ ID を削除する必要があります。 ただし、古いコンテンツ ID を削除する前に、KS オーディオ フィルターは、以前に古いコンテンツ ID を転送したすべてのストリームに新しいコンテンツ ID を最初に正常に転送する必要があります。 KS オーディオ フィルターは、DrmForwardContentToXxx 関数を呼び出してコンテンツ ID を転送します。

DrmCreateContentMixed は、PcCreateContentMixed および IDrmPort::CreateContentMixed と同じ関数を実行します。

必要条件

要件 価値
ヘッダー portcls.h

関連項目

IDrmPort する