Méthode IClassFactory::LockServer (unknwnbase.h)
Verrouille une application objet ouverte en mémoire. Cela permet de créer des instances plus rapidement.
Syntaxe
HRESULT LockServer(
[in] BOOL fLock
);
Paramètres
[in] fLock
Si la valeur est TRUE, incrémente le nombre de verrous ; si la valeur est FALSE, décrémente le nombre de verrous.
Valeur retournée
Cette méthode peut retourner les valeurs de retour standard E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL et S_OK.
Remarques
IClassFactory::LockServer contrôle si le serveur d’un objet est conservé en mémoire. Le maintien de l’application en mémoire permet de créer des instances plus rapidement.
Remarques aux appelants
La plupart des clients n’ont pas besoin d’appeler cette méthode. Il est fourni uniquement pour les clients qui nécessitent des performances spéciales lors de la création de plusieurs instances de leurs objets.Remarques aux implémenteurs
Si le nombre de verrous est égal à zéro, qu’il n’y a plus d’objets en cours d’utilisation et que l’application n’est pas sous le contrôle de l’utilisateur, le serveur peut être fermé. Une façon d’implémenter LockServer consiste à appeler la fonction CoLockObjectExternal .Le processus qui verrouille l’application objet est responsable de son déverrouillage. Une fois l’objet de classe libéré, aucun mécanisme ne garantit la connexion de l’appelant à la même classe ultérieurement (comme dans le cas où un objet de classe est inscrit en tant qu’objet à usage unique). Il est important de compter tous les appels, pas seulement le dernier, vers LockServer, car les appels doivent être équilibrés avant d’essayer de libérer le pointeur vers l’interface IClassFactory sur l’objet de classe ou les résultats d’une erreur. Pour chaque appel à LockServer avec fLock défini sur TRUE, il doit y avoir un appel à LockServer avec fLock défini sur FALSE. Lorsque le nombre de verrous et le nombre de références d’objets de classe sont tous deux nuls, l’objet de classe peut être libéré.
Configuration requise
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 | unknwnbase.h (include Unknwn.h) |