Condividi tramite


Metodo ITransferDestination::CreateItem (shobjidl_core.h)

Crea il file specificato.

Sintassi

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
);

Parametri

[in] pszName

Tipo: LPCWSTR

Puntatore a un buffer con terminazione Null contenente il nome del file rispetto alla directory corrente.

[in] dwAttributes

Tipo: DWORD

Uno o più flag di FILE_ATTRIBUTE definiti nella struttura BY_HANDLE_FILE_INFORMATION . Il valore più significativo è FILE_ATTRIBUTE_DIRECTORY, che indica che deve essere creata una cartella.

[in] ullSize

Tipo: ULONGLONG

Dimensione, in byte, del file da creare. Questo valore può essere 0 se la dimensione è sconosciuta.

[in] flags

Tipo: TRANSFER_SOURCE_FLAGS

Flag che controllano l'operazione file. Uno o più flag di TRANSFER_SOURCE_FLAGS .

[out] riidItem

Tipo: REFIID

Riferimento all'IID dell'interfaccia da recuperare tramite ppvItem, in genere IID_IShellItem o un'altra interfaccia che ne deriva.

[out] ppvItem

Tipo: void**

Quando termina, questo metodo contiene il puntatore di interfaccia richiesto in riidItem. Si tratta in genere di IShellItem o di un'interfaccia derivata.

[in] riidResources

Tipo: REFIID

Riferimento all'IID dell'interfaccia da recuperare tramite ppvResources, in genere IID_IShellItemResources o un'altra interfaccia che ne deriva.

[out] ppvResources

Tipo: void**

Quando termina, questo metodo contiene il puntatore di interfaccia richiesto in riidResources. Si tratta in genere di IShellItemResources o di un'interfaccia derivata.

Valore restituito

Tipo: HRESULT

Restituisce un codice di operazione riuscita se ha esito positivo o un valore di errore in caso contrario. I codici di esito positivo includono:

  • S_OK: lo spostamento è riuscito e ppvItem e ppvResources puntano entrambi a oggetti validi.
  • COPYENGINE_S_USER_IGNORED: l'elemento di destinazione esiste già e non è stato sovrascritto. I valori a cui punta ppvItem e ppvResources sono NULL. Se il chiamante implementa uno spostamento come operazione di copia ed eliminazione, il chiamante deve completare lo spostamento eliminando l'elemento di origine.

Commenti

Questo metodo può essere utilizzato per creare un oggetto elemento shell che rappresenta la cartella di destinazione per un'operazione di copia o spostamento. L'interfaccia ITransferSource fornisce metodi per spostare effettivamente gli oggetti di IShellItem nella destinazione.

Chiamare ITransferDestination::Advise prima di chiamare qualsiasi altro metodo ITransferDestination in modo che il gestore possa eseguire il callback su eventuali errori che potrebbero verificarsi. Se non è impostato, il gestore deve considerarlo un'indicazione che non è disponibile alcun feedback ed eseguire l'operazione "predefinita".

È consigliabile usare la macro IID_PPV_ARGS , definita in Objbase.h, per creare un pacchetto dei parametri riidResources e ppvResources . Questa macro fornisce l'IID corretto in base all'interfaccia a cui punta il valore in ppvResources, che elimina la possibilità di un errore di codifica.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)