IMAPISupport::CopyFolder
S’applique à : Outlook 2013 | Outlook 2016
Copie ou déplace un dossier de son dossier parent actuel vers un autre dossier parent.
HRESULT CopyFolder(
LPCIID lpSrcInterface,
LPVOID lpSrcFolder,
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
LPVOID lpDestFolder,
LPSTR lpszNewFolderName,
ULONG_PTR ulUIParam,
LPMAPIPROGRESS lpProgress,
ULONG ulFlags
);
Paramètres
lpSrcInterface
[in] Pointeur vers l’identificateur d’interface (IID) qui représente l’interface à utiliser pour accéder au dossier parent du dossier à copier ou à déplacer.
lpSrcFolder
[in] Pointeur vers le dossier parent du dossier à copier ou à déplacer.
cbEntryID
[in] Nombre d’octets dans l’identificateur d’entrée pointé par lpEntryID.
lpEntryID
[in] Pointeur vers l’identificateur d’entrée du dossier à copier ou à déplacer.
lpInterface
[in] Réservés au; doit avoir la valeur NULL.
lpDestFolder
[in] Pointeur vers le dossier qui doit recevoir le dossier à copier ou déplacer.
lpszNewFolderName
[in] Pointeur vers le nom du dossier copié ou déplacé ; sinon, NULL, ce qui indique que le dossier copié ou déplacé doit avoir le même nom que le dossier source (dossier désigné par lpEntryID).
ulUIParam
[in] Handle de la fenêtre pour la boîte de dialogue indicateur de progression et les fenêtres associées. Le paramètre ulUIParam est ignoré, sauf si l’indicateur FOLDER_DIALOG est défini dans le paramètre ulFlags .
lpProgress
[in] Pointeur vers un objet progress qui affiche un indicateur de progression. Si NULL est passé dans lpProgress, le fournisseur de magasin de messages affiche un indicateur de progression à l’aide de l’implémentation de l’objet de progression MAPI. Le paramètre lpProgress est ignoré, sauf si l’indicateur FOLDER_DIALOG est défini dans ulFlags.
ulFlags
[in] Masque de bits d’indicateurs qui contrôle la façon dont l’opération de copie ou de déplacement est effectuée. Les indicateurs suivants peuvent être définis :
COPY_SUBFOLDERS
Tous les sous-dossiers du dossier doivent être copiés ou déplacés. Lorsque COPY_SUBFOLDERS n’est pas défini pour une opération de copie, seul le dossier identifié par lpEntryID est copié. Avec une opération de déplacement, le comportement COPY_SUBFOLDERS est le comportement par défaut, que l’indicateur soit défini ou non.
FOLDER_DIALOG
Demande l’affichage d’un indicateur de progression.
FOLDER_MOVE
Le dossier doit être déplacé au lieu d’être copié. Si FOLDER_MOVE n’est pas défini, le dossier est copié.
MAPI_UNICODE
Le nom du dossier est au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, le nom du dossier est au format ANSI.
Valeur renvoyée
S_OK
Le dossier a été correctement copié ou déplacé.
MAPI_E_COLLISION
Le nom du dossier déplacé ou copié est le même que celui d’un sous-dossier dans le dossier de destination. Le fournisseur de la banque de messages exige que les noms de dossiers soient uniques. L’opération s’arrête sans se terminer.
MAPI_W_PARTIAL_COMPLETION
L’appel a réussi, mais toutes les entrées n’ont pas été copiées avec succès. Lorsque cet avertissement est retourné, l’appel doit être géré comme ayant réussi. Pour tester cet avertissement, utilisez la macro HR_FAILED . Pour plus d’informations, consultez Utilisation de macros pour la gestion des erreurs.
Remarques
La méthode IMAPISupport ::CopyFolder est implémentée pour les objets de prise en charge du fournisseur de magasins de messages. Les fournisseurs de magasins de messages peuvent appeler IMAPISupport ::CopyFolder dans leur implémentation de IMAPIFolder ::CopyFolder pour copier ou déplacer un dossier unique d’un dossier parent vers un autre.
IMAPISupport ::CopyFolder ajoute le dossier copié ou déplacé en tant que sous-dossier du dossier de destination.
Remarques pour les appelants
IMAPISupport ::CopyFolder permet de renommer et déplacer simultanément des dossiers, ainsi que la copie ou le déplacement des sous-dossiers du dossier affecté. Pour copier ou déplacer tous les sous-dossiers imbriqués dans le dossier copié ou déplacé, transmettez l’indicateur COPY_SUBFOLDERS dans ulFlags.
Attendez-vous aux valeurs de retour suivantes dans les conditions suivantes :
Condition | Valeur renvoy�e |
---|---|
CopyFolder a correctement copié ou déplacé le dossier et tous ses sous-dossiers, le cas échéant. | S_OK |
CopyFolder n’a pas pu copier ou déplacer correctement tous les dossiers. | MAPI_W_PARTIAL_COMPLETION |
CopyFolder n’a pas pu se terminer. | Toute valeur d’erreur |
Si CopyFolder retourne une valeur d’erreur, ne partez pas de l’hypothèse qu’aucun travail n’a été effectué. Un ou plusieurs dossiers ont pu être copiés ou déplacés avant l’échec de CopyFolder .