共用方式為


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 結構中定義的一或多個 FILE_ATTRIBUTE 旗標。 最重要的值是FILE_ATTRIBUTE_DIRECTORY,這表示應該建立資料夾。

[in] ullSize

類型: ULONGLONG

要建立之檔案的大小,以位元組為單位。 如果大小未知,這個值可以是 0。

[in] flags

類型: TRANSFER_SOURCE_FLAGS

控制檔案作業的旗標。 一或多個 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:移動成功且 ppvItemppvResources 都指向有效的物件。
  • COPYENGINE_S_USER_IGNORED:目的地項目已經存在且尚未覆寫。 ppvItemppvResources 所指向的值是 NULL。 如果呼叫端實作移動做為複製和刪除作業,則呼叫端應該藉由刪除來源專案來完成移動。

備註

這個方法可用來建立Shell項目物件,代表複製或移動作業的目的地資料夾。 ITransferSource 介面提供方法,以實際將 IShellItem 的物件移至目的地。

呼叫任何其他 ITransferDestination 方法之前先呼叫 ITransferDestination::建議,讓處理程式可以回呼可能發生的任何錯誤。 如果未設定,處理程式應該將它視為沒有可用的意見反應,並執行「預設」作業。

建議您使用 Objbase.h 中定義的 IID_PPV_ARGS 宏來封裝 riidResourcesppvResources 參數。 這個宏會根據 ppvResources 中值所指向的介面提供正確的 IID,這可消除編碼錯誤的可能性。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包含 Shobjidl.h)