ITransferDestination ::CreateItem, méthode (shobjidl_core.h)

Crée le fichier spécifié.

Syntaxe

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

Paramètres

[in] pszName

Type : LPCWSTR

Pointeur vers une mémoire tampon terminée par null qui contient le nom du fichier par rapport au répertoire actif.

[in] dwAttributes

Type : DWORD

Un ou plusieurs des indicateurs de FILE_ATTRIBUTE définis dans la structure BY_HANDLE_FILE_INFORMATION . La valeur la plus significative est FILE_ATTRIBUTE_DIRECTORY, ce qui indique qu’un dossier doit être créé.

[in] ullSize

Type : ULONGLONG

Taille, en octets, du fichier à créer. Cette valeur peut être 0 si la taille est inconnue.

[in] flags

Type : TRANSFER_SOURCE_FLAGS

Indicateurs qui contrôlent l’opération de fichier. Un ou plusieurs des indicateurs de TRANSFER_SOURCE_FLAGS .

[out] riidItem

Type : REFIID

Référence à l’IID de l’interface à récupérer via ppvItem, généralement IID_IShellItem ou une autre interface qui en dérive.

[out] ppvItem

Type : void**

Lorsque cette méthode retourne, contient le pointeur d’interface demandé dans riidItem. Il s’agit généralement d’IShellItem ou d’une interface dérivée.

[in] riidResources

Type : REFIID

Référence à l’IID de l’interface à récupérer via ppvResources, généralement IID_IShellItemResources ou une autre interface qui en dérive.

[out] ppvResources

Type : void**

Lorsque cette méthode retourne, contient le pointeur d’interface demandé dans riidResources. Il s’agit généralement d’IShellItemResources ou d’une interface dérivée.

Valeur retournée

Type : HRESULT

Retourne un code de réussite en cas de réussite, ou une valeur d’erreur dans le cas contraire. Les codes de réussite sont les suivants :

  • S_OK : le déplacement a réussi et ppvItem et ppvResources pointent vers des objets valides.
  • COPYENGINE_S_USER_IGNORED : l’élément de destination existe déjà et n’a pas été remplacé. Les valeurs pointées par ppvItem et ppvResources sont NULL. Si l’appelant implémente un déplacement en tant qu’opération de copie et de suppression, l’appelant doit terminer le déplacement en supprimant l’élément source.

Remarques

Cette méthode peut être utilisée pour créer un objet d’élément Shell représentant le dossier de destination d’une opération de copie ou de déplacement. L’interface ITransferSource fournit des méthodes permettant de déplacer des objets d’IShellItem vers la destination.

Appelez ITransferDestination ::Advise avant d’appeler d’autres méthodes ITransferDestination afin que le gestionnaire puisse rappeler toutes les erreurs qui peuvent se produire. S’il n’est pas défini, le gestionnaire doit considérer qu’il s’agit d’une indication qu’aucun commentaire n’est disponible et d’effectuer l’opération « par défaut ».

Il est recommandé d’utiliser la macro IID_PPV_ARGS , définie dans Objbase.h, pour empaqueter les paramètres riidResources et ppvResources . Cette macro fournit l’IID correct en fonction de l’interface pointée vers la valeur dans ppvResources, ce qui élimine la possibilité d’une erreur de codage.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)