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を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表に、考えられる戻り状態コードの一部を示します。
リターン コード | 形容 |
---|---|
|
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 コンテンツ権限を設定します。 戻る前に、
DrmForwardContentToInterface
IDrmAudioStream インターフェイスを解放します。
DrmForwardContentToInterface
は、PcForwardContentToInterface および IDrmPort::ForwardContentToInterfaceと同じ機能を実行します。 詳細については、「DRM 関数とインターフェイスの」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | drmk.h (Drmk.h を含む) |
ライブラリ | Drmk.lib |
IRQL | PASSIVE_LEVEL |
関連項目
DrmAddContentHandlers を する
DrmForwardContentToDeviceObject の
IDrmAudioStream の
IDrmPort::ForwardContentToInterface
IoCallDriver の