ILocalRegistryCorrected.CreateInstance(Guid, IntPtr, Guid, UInt32, IntPtr) Méthode

Définition

Crée une instance d'une classe répertoriée dans le Registre local.

public:
 int CreateInstance(Guid clsid, IntPtr punkOuterIUnknown, Guid % riid, System::UInt32 dwFlags, [Runtime::InteropServices::Out] IntPtr % ppvObj);
public int CreateInstance (Guid clsid, IntPtr punkOuterIUnknown, ref Guid riid, uint dwFlags, out IntPtr ppvObj);
abstract member CreateInstance : Guid * nativeint * Guid * uint32 * nativeint -> int
Public Function CreateInstance (clsid As Guid, punkOuterIUnknown As IntPtr, ByRef riid As Guid, dwFlags As UInteger, ByRef ppvObj As IntPtr) As Integer

Paramètres

clsid
Guid

[in] Identificateur de classe (CLSID) de l'objet demandé. Il s'agit du CLSID associé aux données et au code utilisé pour créer l'objet.

punkOuterIUnknown
IntPtr

[in] Pointeur vers l'interface IUnknown du nouvel objet créé. La valeur null indique que l'objet n'est pas créé dans le cadre d'un agrégat. Si non null, il s'agit d'un pointeur vers le IUnknown de l'objet d'agrégation.

riid
Guid

[in] Interface à utiliser pour communiquer avec l'objet. Par exemple : IID_IClassFactory.

dwFlags
UInt32

[in] Indicateurs contrôlant la création des instances de l'énumération CLSCTX. Spécifie une valeur de CLSCTX_INPROC_SERVER.

ppvObj
IntPtr

[out] Adresse de la variable du pointeur qui reçoit le pointeur d'interface demandé dans riid. Lors d'un retour, ppvObj contient le pointeur d'interface requis. En cas de échec, ppvObj contient la valeur null.

Retours

Int32

Si la méthode réussit, retourne S_OK. En cas d'échec, retourne un code d'erreur.

Remarques

La CreateInstance méthode est équivalente à la CoCreateInstance fonction de com. Il crée un objet non initialisé unique du type associé au CLSID spécifié et retourne tous les pointeurs d’interface demandés.

CreateInstance recherche l’objet de classe dans le registre local des objets inscrits, se connecte à l’objet de classe associé au CLSID spécifié, crée une instance non initialisée de l’objet et libère l’objet de classe. Cette méthode encapsule les appels à la fonction COM CoGetClassObject pour obtenir un pointeur vers la fabrique de classe de l’objet, pour CreateInstance créer une instance de l’objet et pour libérer la référence à la fabrique de classe de l’objet.

Notes

Appelez CreateInstance lorsque vous souhaitez créer une seule instance d’un objet en fonction d’un CLSID et que vous n’avez pas besoin de conserver l’objet de fabrique de classes pour créer d’autres instances de l’objet. Pour créer plusieurs objets à partir d’un objet de classe unique, utilisez la GetClassObjectOfClsid méthode.

Cette méthode inscrit un objet dans la ruche du registre local (par exemple, [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\CLSID]). Dans cette section du Registre, InProcServer32 est utilisé en tant que valeur plutôt qu’en tant que sous-clé. Nous ne prenons en charge que l’instanciation d’objets sur le thread d’interface utilisateur principal.

Spécifiez une valeur CLSCTX_INPROC_SERVER pour le dwFlags paramètre pour instancier l’objet localement. Si vous ne spécifiez pas cette valeur, l’objet sera instancié globalement à l’aide de la fonction de COM CoCreateInstance .

S’applique à