ILocalRegistryCorrected.CreateInstance(Guid, IntPtr, Guid, UInt32, IntPtr) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 .