Share via


IPersistFile ::GetCurFile, méthode (objidl.h)

Récupère le nom actuel du fichier associé à l’objet . S’il n’existe aucun fichier de travail actuel, cette méthode récupère l’invite d’enregistrement par défaut pour l’objet .

Syntaxe

HRESULT GetCurFile(
  [out] LPOLESTR *ppszFileName
);

Paramètres

[out] ppszFileName

Chemin d’accès du fichier actuel ou invite de nom de fichier par défaut (par exemple, *.txt). Si une erreur se produit, ppszFileName est défini sur NULL.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
Un chemin d’accès absolu valide a été retourné avec succès.
S_FALSE
L’invite d’enregistrement par défaut a été retournée.
E_OUTOFMEMORY
L’opération a échoué en raison d’une mémoire insuffisante.
E_FAIL
L’opération a échoué pour une raison autre que la mémoire insuffisante.

Remarques

Cette méthode alloue de la mémoire pour la chaîne retournée dans le paramètre ppszFileName à l’aide de la méthode IMalloc ::Alloc . L’appelant est chargé d’appeler la méthode IMalloc ::Free pour libérer la chaîne. L’appelant et cette méthode utilisent l’allocateur de tâche OLE fourni par un appel à CoGetMalloc.

Le nom de fichier retourné dans ppszFileName est le nom spécifié dans un appel à IPersistFile ::Load lors du chargement du document ; ou dans IPersistFile ::SaveCompleted si le document a été enregistré dans un autre fichier.

Si l’objet n’a pas de fichier actif, il doit fournir l’invite par défaut qu’il affiche dans une boîte de dialogue Enregistrer sous. Par exemple, l’invite d’enregistrement par défaut pour un objet de traitement de texte peut être

« *.txt ».

Remarques aux appelants

OLE n’appelle pas la méthode GetCurFile . Les applications n’appellent pas cette méthode, sauf si elles appellent également les méthodes d’enregistrement de cette interface.

Lors de l’enregistrement de l’objet, vous pouvez appeler cette méthode avant d’appeler IPersistFile ::Save pour déterminer si l’objet a un fichier associé. Si cette méthode retourne S_OK, vous pouvez appeler IPersistFile ::Save avec un nom de fichier NULL et une valeur TRUE pour le paramètre fRemember pour indiquer à l’objet de s’enregistrer dans son fichier actuel. Si cette méthode retourne S_FALSE, vous pouvez utiliser l’invite d’enregistrement retournée dans le paramètre ppszFileName pour demander à l’utilisateur final de fournir un nom de fichier. Ensuite, vous pouvez appeler IPersistFile ::Save avec le nom de fichier entré par l’utilisateur pour effectuer une opération Enregistrer sous .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête objidl.h

Voir aussi

IPersistFile