次の方法で共有


DrmForwardContentToInterface 関数 (drmk.h)

関数は DrmForwardContentToInterface 、呼び出し元が保護されたコンテンツを転送するオブジェクトの COM インターフェイスへのポインターを受け取ります。 この関数は、オブジェクトを認証し、システムが保護されたコンテンツに割り当てたコンテンツ ID と DRM 権限をオブジェクトに送信します。

構文

NTSTATUS DrmForwardContentToInterface(
  [in] ULONG    ContentId,
  [in] PUNKNOWN pUnknown,
  [in] ULONG    NumMethods
);

パラメーター

[in] ContentId

DRM コンテンツ ID を指定します。 このパラメーターは、保護された KS オーディオ ストリームを識別します。

[in] pUnknown

KS オーディオ フィルターの KS オーディオ ストリーム データを直接受信する COM インターフェイスへのポインター。

[in] NumMethods

pUnknown が指す COM インターフェイス内のメソッドの合計数を指定します。これには、基本インターフェイス内のすべてのメソッドが含まれます。

戻り値

DrmForwardContentToInterface は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表は、考えられる戻り状態コードの一部を示しています。

リターン コード 説明
STATUS_NOT_IMPLEMENTED
pUnknown に関連付けられている KS オーディオ ストリームが、ContentId に割り当てられている DRM コンテンツ権限をサポートしていないことを示します。

注釈

保護されたコンテンツがデータ パスを通過できるようにする前に、システムはデータ パスがセキュリティで保護されていることを確認します。 これを行うために、システムは、データ パスの上流端からダウンストリームに移動するデータ パス内の各モジュールを認証します。 各モジュールが認証されると、そのモジュールはデータ パス内の次のモジュールに関するシステム情報を提供して、認証することもできます。 正常に認証するには、モジュールのバイナリ ファイルに DRM 準拠として署名する必要があります。

データ パス内の 2 つの隣接するモジュールがダウンストリーム モジュールの COM インターフェイスを介して相互に通信する場合、アップストリーム モジュールは 関数を DrmForwardContentToInterface 呼び出して、COM インターフェイスへのポインターをシステムに提供します。 (2 つのモジュールが IoCallDriver 関数またはダウンストリーム モジュールのコンテンツ ハンドラーを介して通信する場合、アップストリーム モジュールは代わりに DrmForwardContentToDeviceObject または DrmAddContentHandlers を呼び出します)。

DrmForwardContentToInterfaceは、pUnknown が指す COM インターフェイスのメソッドを実装するモジュールを認証します。 (メソッドが複数のモジュール間で分散されている場合、関数はこれらすべてのモジュールを認証します)。このベンダー定義インターフェイスは、インターフェイスを呼び出すモジュールとインターフェイスを実装するモジュールの両方で理解する必要があります。 DrmForwardContentToInterface は、 IUnknown から派生する以外に、このインターフェイスに関する仮定を行いません。

DrmForwardContentToInterfaceドライバーまたはライブラリの認証に成功すると、次の処理が行われます。

  • pUnknown インターフェイスの IDrmAudioStream インターフェイスに対してクエリを実行します。 は pUnknown インターフェイスのすべてのメソッドを認証しますDrmForwardContentToInterfaceが、基本の IUnknown メソッド以外の pUnknown インターフェイス内のメソッドは呼び出しません。
  • IDrmAudioStream::SetContentId を呼び出して、オーディオ ストリームの DRM コンテンツ ID と DRM コンテンツ権限を設定します。 を返す前に、 DrmForwardContentToInterfaceIDrmAudioStream インターフェイスを解放します。
pUnknown パラメーターは、COM オブジェクトの参照カウント規則に従います。

DrmForwardContentToInterface は、 PcForwardContentToInterface および IDrmPort::ForwardContentToInterface と同じ関数を実行します。 詳細については、「 DRM 関数とインターフェイス」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header drmk.h (Drmk.h を含む)
Library Drmk.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

DrmAddContentHandlers

DrmForwardContentToDeviceObject

IDrmAudioStream

IDrmAudioStream::SetContentId

IDrmPort::ForwardContentToInterface

IoCallDriver

PcForwardContentToInterface