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 旗標。
[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:移動成功且 ppvItem 和 ppvResources 都指向有效的物件。
- COPYENGINE_S_USER_IGNORED:目的地項目已經存在且尚未覆寫。 ppvItem 和 ppvResources 所指向的值是 NULL。 如果呼叫端實作移動做為複製和刪除作業,則呼叫端應該藉由刪除來源專案來完成移動。
備註
這個方法可用來建立Shell項目物件,代表複製或移動作業的目的地資料夾。 ITransferSource 介面提供方法,以實際將 IShellItem 的物件移至目的地。
呼叫任何其他 ITransferDestination 方法之前先呼叫 ITransferDestination::建議,讓處理程式可以回呼可能發生的任何錯誤。 如果未設定,處理程式應該將它視為沒有可用的意見反應,並執行「預設」作業。
建議您使用 Objbase.h 中定義的 IID_PPV_ARGS 宏來封裝 riidResources 和 ppvResources 參數。 這個宏會根據 ppvResources 中值所指向的介面提供正確的 IID,這可消除編碼錯誤的可能性。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |