CreateFileMoniker, fonction (objbase.h)

Crée un moniker de fichier basé sur le chemin spécifié.

Syntaxe

HRESULT CreateFileMoniker(
  [in]  LPCOLESTR lpszPathName,
  [out] LPMONIKER *ppmk
);

Paramètres

[in] lpszPathName

Chemin sur lequel ce moniker doit être basé.

Ce paramètre peut spécifier un chemin relatif, un chemin UNC ou un chemin basé sur une lettre de lecteur. S’il est basé sur un chemin relatif, le moniker résultant doit être composé sur un autre moniker de fichier avant de pouvoir être lié.

[out] ppmk

Adresse d’une variable pointeur IMoniker* qui reçoit le pointeur d’interface vers le nouveau moniker de fichier. En cas de réussite, la fonction a appelé AddRef sur le moniker de fichier et l’appelant est responsable de l’appel de Release. Lorsqu’une erreur se produit, la valeur du pointeur d’interface est NULL.

Valeur retournée

Cette fonction peut retourner la valeur de retour standard E_OUTOFMEMORY, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
Le moniker a été créé avec succès.
MK_E_SYNTAX
Une erreur s’est produite dans la syntaxe du chemin d’accès.

Remarques

CreateFileMoniker crée un moniker pour un objet stocké dans un fichier. Un fournisseur moniker (objet qui fournit des monikers à d’autres objets) peut appeler cette fonction pour créer un moniker afin d’identifier un objet basé sur un fichier qu’il contrôle, puis mettre le pointeur vers ce moniker disponible pour d’autres objets. Un objet identifié par un moniker de fichier doit également implémenter l’interface IPersistFile afin qu’il puisse être chargé lorsqu’un moniker de fichier est lié.

Lorsque chaque objet réside dans son propre fichier, comme dans une application serveur OLE qui prend en charge la liaison uniquement à des documents basés sur des fichiers dans leur intégralité, les monikers de fichier sont le seul type de moniker nécessaire. Pour identifier des objets plus petits qu’un fichier, le fournisseur de moniker doit utiliser un autre type de moniker (par exemple, un moniker d’élément) en plus des monikers de fichier, ce qui crée un moniker composite. Les monikers composites sont nécessaires dans une application serveur OLE qui prend en charge la liaison à des objets plus petits qu’un document (tels que des sections d’un document ou des objets incorporés).

Un moniker de fichier ne peut être composé qu’à droite d’un autre moniker de fichier lorsque le premier moniker est basé sur un chemin absolu et l’autre est un chemin relatif, ce qui donne un moniker de fichier unique basé sur la combinaison des deux chemins. Un moniker composé à droite d’un autre moniker doit être un affinement de ce moniker, et le moniker de fichier représente la plus grande unité de stockage. Pour identifier les objets stockés dans un fichier, vous devez composer d’autres types de monikers (généralement des monikers d’élément) à droite d’un moniker de fichier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objbase.h
Bibliothèque Ole32.lib
DLL Ole32.dll
Ensemble d’API ext-ms-win-com-ole32-l1-1-4 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

IMoniker