DrmCreateContentMixed
関数は、複数のストリームからの混合コンテンツを含む KS オーディオ ストリームを識別する DRM コンテンツ ID を作成します。
構文
NTSTATUS DrmCreateContentMixed(
[in] PULONG paContentId,
[in] ULONG cContentId,
[out] PULONG pMixedContentId
);
パラメーター
[in] paContentId
DRM コンテンツ ID の配列へのポインター。 各配列要素は ULONG 型で、保護された KS オーディオ ストリームを表すコンテンツ ID が含まれています。 cContentId が 0 の場合、paContentID NULL できます。 コンテンツ ID が 0 の場合は、既定の DRM コンテンツ権限を持つオーディオ ストリームを表す特殊な値です (DEFINE_DRMRIGHTS_DEFAULTを参照)。
[in] cContentId
paContentId 配列内の DRM コンテンツ ID の数を指定します。 配列には、0 個以上のコンテンツ ID を保持できます。
[out] pMixedContentId
複合コンテンツ ID の出力ポインター。 このパラメーターは、関数が複合 KS オーディオ ストリームの新しいコンテンツ ID を書き込む呼び出し元によって割り当てられた ULONG 変数を指します。 cContentId ゼロの場合、関数は既定の DRM コンテンツ権限を新しいコンテンツ ID に割り当てます。
戻り値
DrmCreateContentMixed
は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、適切なエラー コードが返されます。
備考
KS オーディオ フィルターは、DrmCreateContentMixed
関数を呼び出して、複合ストリームの DRM コンテンツ ID を取得します。 このフィルターは、コンテンツ ID が paContentId 配列にリストされている KS オーディオ ストリームを混在させることによって、このストリームを生成します。 このミキサー入力のストリームのコンテンツ ID の一覧を考えると、関数は複合ストリームのコンテンツ権限を計算し、そのストリームに新しいコンテンツ ID を割り当てます。
呼び出し元がコンテンツ ID を指定しない場合 (つまり、cContentId 0 の場合)、関数は複合ストリームを識別するために作成するコンテンツ ID に既定のコンテンツ権限を割り当てます。
DrmCreateContentMixed
からコンテンツ ID を取得した後、呼び出し元は DrmGetContentRights 呼び出すことによって、コンテンツ ID に割り当てられたコンテンツ権限を取得できます。
複合オーディオ ストリームのいずれかのコンポーネントのコンテンツ権限を変更した後、ストリームを混在させる KS オーディオ フィルターは、複合オーディオ ストリームの新しいコンテンツ ID を取得するために DrmCreateContentMixed
を呼び出す必要があります。
DrmCreateContentMixed
は、paContentId 配列で指定された個々のコンテンツ ID に割り当てられるコンテンツ権限の最も制限が厳しいことを判断し、これらの権限を新しいコンテンツ ID に割り当てます。
KS オーディオ フィルターが、DrmCreateContentMixed
を使用して作成したコンテンツ ID の使用を終了した後、コンテンツ ID を削除するには、フィルター DrmDestroyContent を呼び出す必要があります。 ただし、古いコンテンツ ID を削除する前に、KS オーディオ フィルターは、以前に古いコンテンツ ID を転送したすべてのストリームに新しいコンテンツ ID を最初に正常に転送する必要があります。 KS オーディオ フィルターは、DrmForwardContentToXxx 関数を呼び出すことによってコンテンツ ID を転送します。
DrmCreateContentMixed
は、PcCreateContentMixed および IDrmPort::CreateContentMixedと同じ機能を実行します。 詳細については、「DRM 関数とインターフェイスの」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | drmk.h (Drmk.h を含む) |
ライブラリ | Drmk.lib |
IRQL | PASSIVE_LEVEL |
関連項目
DrmDestroyContent の
DrmForwardContentToDeviceObject の
DrmForwardContentToInterface を する