ITransferDestination::CreateItem メソッド (shobjidl_core.h)

指定したファイルを作成します。

構文

HRESULT CreateItem(
  [in]  LPCWSTR               pszName,
  [in]  DWORD                 dwAttributes,
  [in]  ULONGLONG             ullSize,
  [in]  TRANSFER_SOURCE_FLAGS flags,
  [out] REFIID                riidItem,
  [out] void                  **ppvItem,
  [in]  REFIID                riidResources,
  [out] void                  **ppvResources
);

パラメーター

[in] pszName

種類: LPCWSTR

現在のディレクトリに対する相対ファイルの名前を含む null で終わるバッファーへのポインター。

[in] dwAttributes

型: DWORD

BY_HANDLE_FILE_INFORMATION構造体で定義されている 1 つ以上の FILE_ATTRIBUTE フラグ。 最も重要な値は、フォルダーを作成する必要があることを示すFILE_ATTRIBUTE_DIRECTORYです。

[in] ullSize

種類: ULONGLONG

作成するファイルのサイズ (バイト単位)。 サイズが不明な場合、この値は 0 にすることができます。

[in] flags

種類: TRANSFER_SOURCE_FLAGS

ファイル操作を制御するフラグ。 1 つ以上の TRANSFER_SOURCE_FLAGS フラグ。

[out] riidItem

型: REFIID

ppvItem を介して取得するインターフェイスの IID への参照 。通常は、IID_IShellItemまたはそこから派生する別のインターフェイスです。

[out] ppvItem

型: void**

このメソッドから制御が戻るときに、 riidItem で要求されたインターフェイス ポインターが格納されます。 これは通常、 IShellItem または派生インターフェイスです。

[in] riidResources

型: REFIID

ppvResources を介して取得するインターフェイスの IID への参照 。通常は、IID_IShellItemResourcesまたはそこから派生する別のインターフェイスです。

[out] ppvResources

型: void**

このメソッドから制御が戻るときに、 riidResources で要求されたインターフェイス ポインターが格納されます。 これは通常、 IShellItemResources または派生インターフェイスです。

戻り値

型: HRESULT

成功した場合は成功コード、それ以外の場合はエラー値を返します。 成功コードは次のとおりです。

  • S_OK: 移動が成功し、 ppvItemppvResource の両方が 有効なオブジェクトを指しています。
  • COPYENGINE_S_USER_IGNORED: 宛先アイテムは既に存在し、上書きされていません。 ppvItem および ppvResources が指す値は NULL です。 呼び出し元がコピーおよび削除操作として移動を実装している場合、呼び出し元はソースアイテムを削除して移動を完了する必要があります。

注釈

このメソッドは、コピーまたは移動操作のコピー先フォルダーを表すシェル項目オブジェクトを作成するために使用できます。 ITransferSource インターフェイスには、IShellItem のオブジェクトを実際に移動先に移動するメソッドが用意されています。

他の ITransferDestination メソッドを呼び出す前に ITransferDestination::Advise を呼び出して、発生する可能性のあるエラーに対してハンドラーがコールバックできるようにします。 設定されていない場合、ハンドラーはフィードバックが利用できないことを示し、"既定の" 操作を実行することを示すものと見なす必要があります。

riidResources パラメーターと ppvResources パラメーターをパッケージ化するには、Objbase.h で定義されているIID_PPV_ARGS マクロを使用することをお勧めします。 このマクロは 、ppvResources の値が指すインターフェイスに基づいて正しい IID を提供するため、コーディング エラーが発生する可能性がなくなります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)