次の方法で共有


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 がドライバーまたはライブラリの認証に成功した場合、次の処理が行われます。

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

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

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー drmk.h (Drmk.h を含む)
ライブラリ Drmk.lib
IRQL PASSIVE_LEVEL

関連項目

DrmAddContentHandlers する

DrmForwardContentToDeviceObject

IDrmAudioStream

IDrmAudioStream::SetContentId

IDrmPort::ForwardContentToInterface

IoCallDriver

PcForwardContentToInterface