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