System.Win.ComServ.DllGetClassObject

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function DllGetClassObject(const CLSID, IID: TGUID; var Obj): HResult;

Propriétés

Type Visibilité  Source Unité  Parent
function public System.Win.ComServ.pas System.Win.ComServ System.Win.ComServ

Description

Utilisée pour obtenir un fabricant de classe pour un objet ActiveX lorsque l'objet ActiveX réside dans un serveur ActiveX en processus (DLL).

N'appelez pas directement DllGetClassObject. DllGetClassObject est exportée par les serveurs ActiveX (DLL) et appelée en interne par le système d'exploitation. Lorsqu'un utilisateur appelle CoGetClassObject (ou CoCreateInstance, qui appelle de façon interne CoGetClassObject) pour obtenir un fabricant de classe pour un objet ActiveX, le moteur OLE charge les DLL du serveur ActiveX en mémoire et appelle sa fonction DllGetClassObject.

Les paramètres de DllGetClassObject sont :

CLSID est l'identificateur de classe pour l'objet ActiveX devant être créé par le fabricant de classe.

IID est l'identificateur d'interface pour l'interface par laquelle l'appelant communiquera avec l'objet fabricant de classe pour créer des instances de l'objet référencé par CLSID. Ce paramètre est presque toujours IID_IClassFactory ou IID_IClassFactory2.

Obj contient un pointeur sur l'interface fabricant de classe résultante sur la réussite de la fonction. Si une erreur se produit, Obj contiendra nil.

Les valeurs renvoyées pour DllGetClassObject sont les suivantes :



Valeur Signification

S_OK

L'objet a été récupéré.

E_NOINTERFACE

L'objet référencé par Obj ne reconnaît pas l'interface passée dans le paramètre IID.

CLASS_E_CLASSNOTAVAILABLE

La DLL ne reconnaît pas le type de classe référencé par le paramètre CLSID.



Remarque :  DllGetClassObject est l'une des quatre fonctions de l'unité ComServ que tout serveur en processus doit exporter pour que Windows puisse gérer correctement les ressources du serveur. Les autres sont DllCanUnloadNow, DllRegisterServer et DllUnregisterServer.

Voir aussi