ISCPSecureExchange2::TransferContainerData2 メソッド (mswmdm.h)
TransferContainerData2 メソッドは、コンテナー ファイル データをセキュリティで保護されたコンテンツ プロバイダーに転送します。 セキュリティで保護されたコンテンツ プロバイダーは、コンテナーを内部的に分割し、コンテナーから抽出されたコンテンツのどの部分が使用可能であるかを報告します。 このメソッドは、セキュリティで保護されたコンテンツ プロバイダーが実行する必要があるステップの進行状況通知を送信できる進行状況コールバックを受け入れることで 、ISCPSecureExchange::TransferContainerData を拡張します。
構文
HRESULT TransferContainerData2(
[in] BYTE *pData,
[in] DWORD dwSize,
[in] IWMDMProgress3 *pProgressCallback,
[out] UINT *pfuReadyFlags,
[in, out] BYTE [8] abMac
);
パラメーター
[in] pData
コンテナー ファイルから転送されている現在のデータを保持しているバッファーへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。
[in] dwSize
バッファー内のバイト数を含む DWORD。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。
[in] pProgressCallback
セキュリティで保護されたコンテンツ プロバイダーが実行する必要があるステップの進行状況を報告できる進行状況コールバック。このステップは、IWMDMProgress3 メソッドの EventId パラメーターによって識別されます。
[out] pfuReadyFlags
コンテナー ファイルのどの部分を読み取る準備ができているかを示すフラグ。 このパラメーターは、出力メッセージ認証コードに含まれています。 次のフラグは、準備ができていることを示しています。
フラグ | 説明 |
---|---|
WMDM_SCP_TRANSFER_OBJECTDATA | オブジェクトのデータは、 ObjectData メソッドを呼び出すことによって使用できます。 |
WMDM_SCP_NO_MORE_CHANGES | セキュリティで保護されたコンテンツ プロバイダーは、転送されるファイルのそれ以上の処理や変更は必要ないと判断しました。 Windows Media デバイス マネージャーは、ファイルの残りの部分をデバイスに直接転送できます。 |
[in, out] abMac
このメソッドのパラメーター データのメッセージ認証コードを含む 8 バイトの配列。 (WMDM_MAC_LENGTHは 8 と定義されています。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合は、 HRESULT エラー コードが返されます。
リターン コード | 説明 |
---|---|
|
呼び出し元には、このインターフェイスの使用が許可されていません。 |
|
呼び出し元には、要求された操作を実行するために必要な権限がありません。 |
|
メッセージ認証コードが無効です。 |
|
メソッドが失敗しました。 セキュリティで保護されたコンテンツ プロバイダーとの対話を終了します。 |
|
パラメーターが無効であるか、 NULL ポインターです。 |
|
未指定のエラーが発生しました。 |
解説
Windows Media デバイス マネージャーは、コンテナー ファイルからセキュリティで保護されたコンテンツ プロバイダーにデータを転送して、このメソッドを繰り返し呼び出します。 Windows Media デバイス マネージャーは、最終的に dwSize を 0 に設定してこのメソッドを呼び出して、転送するデータがなくなったことを示します。 セキュリティで保護されたコンテンツ プロバイダーは、データを収集し、そこからさまざまなオブジェクトを抽出すると、呼び出しのたびに使用可能なオブジェクト (存在する場合) を Windows Media デバイス マネージャーに報告します。 使用可能なオブジェクトがない場合、セキュリティで保護されたコンテンツ プロバイダーは pfuReadyFlags パラメーターを 0 に設定してS_OKを返します。 セキュリティで保護されたコンテンツ プロバイダーが、転送されるファイルのそれ以上の処理や変更を必要としていないと判断すると、フラグ WMDM_SCP_NO_MORE_CHANGESが返されます。 Windows Media デバイス マネージャーは、ファイルの残りの部分をデバイスに直接転送できます。
オブジェクト データは、 ObjectData メソッドを呼び出すことによって、セキュリティで保護されたコンテンツ プロバイダーから転送されます。 Windows Media デバイス マネージャーは、2 番目のパラメーター dwBytesWrite で 0 が返されるまで ObjectData を繰り返し呼び出します。
TransferComplete メソッドは、セキュリティで保護されたデータ転送の終了を通知するために、Windows Media デバイス マネージャーによって呼び出されます。
Windows Media デバイス マネージャーは、pProgressCallback パラメーターでセキュリティで保護されたコンテンツ プロバイダーにアプリケーションによって提供される進行状況コールバックを渡します。 セキュリティで保護されたコンテンツ プロバイダーは、このパラメーターを使用して、実行する必要があるステップの進行状況通知を提供できます。ステップ自体は、IWMDMProgress3 のメソッドの最初のパラメーターである EventId によって識別されます。 特定のセキュリティで保護されたコンテンツ プロバイダーの実装では、使用するアプリケーションの EventId 値が定義されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | mswmdm.h |
Library | Mssachlp.lib |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示