次の方法で共有


IMDSPDirectTransfer::TransferToDevice メソッド (mswmdm.h)

TransferToDevice メソッドは、コンテンツ転送コンテンツをサービス プロバイダーに委任するために、Windows Media デバイス マネージャーによって呼び出されます。 ソースは、ファイルまたは操作インターフェイスとして指定できます。

構文

HRESULT TransferToDevice(
  [in]  LPCWSTR        pwszSourceFilePath,
  [in]  IWMDMOperation *pSourceOperation,
  [in]  UINT           fuFlags,
  [in]  LPWSTR         pwszDestinationName,
  [in]  IWMDMMetaData  *pSourceMetaData,
  [in]  IWMDMProgress  *pTransferProgress,
  [out] IMDSPStorage   **ppNewObject
);

パラメーター

[in] pwszSourceFilePath

ソース ファイル名。 WMDM_CONTENT_OPERATIONINTERFACEが指定されている場合、このパラメーターに含まれる値は無視する必要があります。

[in] pSourceOperation

ソースとして機能する操作インターフェイス ポインター。 WMDM_CONTENT_OPERATIONINTERFACEが指定されていない限り、このパラメーターに含まれる値は無視する必要があります。

[in] fuFlags

このメソッドの動作に影響を与えるフラグ。 fuFlags パラメーターは、次のいずれかの値である必要があります。

説明
WMDM_CONTENT_FILE ソースはファイルです。
WMDM_CONTENT_FOLDER ソースはフォルダーです。
WMDM_FILE_CREATE_OVERWRITE コピー先ファイルが既に存在する場合は上書きします。

[in] pwszDestinationName

この名前のデバイスにコンテンツを転送する必要があります。 このパラメーターは必須です。

[in] pSourceMetaData

メタデータ インターフェイス ポインター。 メタデータ オブジェクトには、ソース プロパティが含まれています。 このパラメーターは省略可能です。

[in] pTransferProgress

進行状況コールバック インターフェイス。 サービス プロバイダーは、転送の進行中に情報を更新する必要があります。 このパラメーターは省略可能です。

[out] ppNewObject

新しく作成されたストレージ オブジェクト。 このパラメーターは省略可能です。 呼び出し元が新しいオブジェクトを返す必要がない場合は 、NULL を 指定できます。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
次のいずれかが当てはまります。
  1. pwszSourceFileNamepSourceOperation の両方が指定されています。

  2. pwszDestinationName が指定されていません。

  3. fuFlags が無効です。

HRESULT_FROM_WIN32(ERROR_DISK_FULL)
ディスクに十分な空き領域がありません。
HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)
ファイルは既に存在し、WMDM_FILE_CREATE_OVERWRITEが指定されていません。 デバイスで重複するファイル名が許可されている場合、これは許容される可能性があり、このエラーを返す必要はありません。
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
指定されたコンテンツの転送は、デバイスではサポートされていません。

注釈

Windows Media デバイス マネージャー転送のたびに IMDSPDirectTransfer インターフェイスに対するクエリが実行されます。

サービス プロバイダーが IMDSPDirectTransfer インターフェイスをサポートしている場合、Windows Media デバイス マネージャーはコンテンツ転送をサービス プロバイダーに委任するだけです。 この場合、Windows Media デバイス マネージャーは、サービス プロバイダーに送信する前にコンテンツの処理を行いません。 サービス プロバイダーは、ソースを完全に制御します。

サービス プロバイダーが IMDSPDirectTransfer インターフェイスをサポートしていない場合、Windows Media デバイス マネージャーはソース ファイルを処理し、バイト パケットをサービス プロバイダーに送信します。 さらに、保護されたコンテンツの場合、Windows Media デバイス マネージャーはセキュリティで保護されたコンテンツ プロバイダーを呼び出して、サービス プロバイダーに送信する前にコンテンツを処理します。

IMDSPDirectTransfer がサポートされている場合、Windows Media デバイス マネージャーはコンテンツの処理をサービス プロバイダーに委任します。 これにより、サービス プロバイダーはコンテンツを柔軟に処理できます。 この場合、サービス プロバイダーは保護されたコンテンツの処理を担当します。

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

IMDSPDirectTransfer インターフェイス

IMDSPObject::Close

IMDSPObject::Open

IMDSPObject::Write

IWMDMMetaData インターフェイス

IWMDMOperation インターフェイス

IWMDMProgress インターフェイス

IWMDMStorageControl インターフェイス