Partager via


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

Ouvre le fichier spécifié et initialise un objet à partir du contenu du fichier.

Syntaxe

HRESULT Load(
  [in] LPCOLESTR pszFileName,
  [in] DWORD     dwMode
);

Paramètres

[in] pszFileName

Chemin absolu du fichier à ouvrir.

[in] dwMode

Mode d’accès à utiliser lors de l’ouverture du fichier. Les valeurs possibles sont extraites de l’énumération STGM . La méthode peut traiter cette valeur comme une suggestion, en ajoutant des autorisations plus restrictives si nécessaire. Si dwMode a la valeur 0, l’implémentation doit ouvrir le fichier à l’aide des autorisations par défaut utilisées lorsqu’un utilisateur ouvre le fichier.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_OUTOFMEMORY
Impossible de charger l’objet en raison d’un manque de mémoire.
E_FAIL
L’objet n’a pas pu être chargé pour une raison autre qu’un manque de mémoire.

Remarques

IPersistFile ::Load charge l’objet à partir du fichier spécifié. Cette méthode est destinée à l’initialisation uniquement et n’affiche pas l’objet à l’utilisateur final. Cela n’équivaut pas à ce qui se produit lorsqu’un utilisateur sélectionne la commande Ouvrir le fichier .

Remarques aux appelants

La méthode BindToObject dans les monikers de fichier appelle cette méthode pour charger un objet pendant une opération de liaison moniker (lorsqu’un objet lié est exécuté). En règle générale, les applications n’appellent pas cette méthode directement.

Remarques aux implémenteurs

Étant donné que les informations nécessaires pour ouvrir un fichier varient considérablement d’une application à l’autre, l’objet sur lequel cette méthode est implémentée doit également ouvrir le fichier spécifié par le paramètre pszFileName . Cela diffère des IPersistStorage ::Load et IPersistStream ::Load, dans lesquels l’appelant ouvre le stockage ou le flux, puis transmet un pointeur de stockage ou de flux ouvert à l’objet chargé.

Pour une application qui utilise normalement des fichiers composés OLE, votre implémentation IPersistFile ::Load peut simplement appeler la fonction StgOpenStorage pour ouvrir l’objet de stockage dans le fichier spécifié. Ensuite, vous pouvez procéder à une initialisation normale. Les applications qui n’utilisent pas d’objets de stockage peuvent effectuer des procédures normales d’ouverture de fichier.

Une fois l’objet chargé, votre implémentation doit inscrire l’objet dans la table d’objets en cours d’exécution (voir IRunningObjectTable ::Register).

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