次の方法で共有


ISCPSecureExchange::TransferContainerData メソッド (mswmdm.h)

TransferContainerData メソッドは、コンテナー ファイル データをセキュリティで保護されたコンテンツ プロバイダーに転送します。 セキュリティで保護されたコンテンツ プロバイダーは、コンテナーを内部的に分割し、コンテナーから抽出されたコンテンツのどの部分が使用可能であるかを報告します。

構文

HRESULT TransferContainerData(
  [in]      BYTE     *pData,
  [in]      DWORD    dwSize,
  [out]     UINT     *pfuReadyFlags,
  [in, out] BYTE [8] abMac
);

パラメーター

[in] pData

コンテナー ファイルから転送されている現在のデータを保持しているバッファーへのポインター。 このパラメーターは、入力メッセージ認証コードに含まれている必要があり、暗号化する必要があります。

[in] dwSize

バッファー内のバイト数を含む DWORD。 このパラメーターは、入力メッセージ認証コードに含まれている必要があります。

[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 エラー コードが返されます。

リターン コード 説明
WMDM_E_NOT_CERTIFIED
呼び出し元には、このインターフェイスの使用が許可されていません。
WMDM_E_NORIGHTS
呼び出し元には、要求された操作を実行するために必要な権限がありません。
WMDM_E_MAC_CHECK_FAILED
メッセージ認証コードが無効です。
S_FALSE
メソッドが失敗しました。 セキュリティで保護されたコンテンツ プロバイダーとの対話を終了します。
E_INVALIDARG
パラメーターが無効であるか、 NULL ポインターです。
E_FAIL
未指定のエラーが発生しました。

解説

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
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

ISCPSecureExchange インターフェイス