Partager via


Méthode IQuickActivate::QuickActivate (ocidl.h)

Quick active un contrôle.

Syntaxe

HRESULT QuickActivate(
  [in]      QACONTAINER *pQaContainer,
  [in, out] QACONTROL   *pQaControl
);

Paramètres

[in] pQaContainer

Pointeur vers la structure QACONTAINER contenant des informations sur le conteneur.

[in, out] pQaControl

Pointeur vers la structure QACONTROL remplie par le contrôle pour retourner des informations sur le contrôle au conteneur. Le conteneur appelant cette méthode doit réserver de la mémoire pour cette structure.

Valeur retournée

Si la méthode réussit, la valeur de retour est S_OK. Sinon, c’est E_FAIL.

Notes

Si le contrôle ne prend pas en charge IQuickActivate, le conteneur effectue certaines opérations de négociation lorsqu’il charge le contrôle. Le conteneur appelle certaines interfaces sur le contrôle et le contrôle, à son tour, rappelle certaines interfaces sur le site client du conteneur. Tout d’abord, le conteneur crée l’objet de contrôle et appelle QueryInterface pour rechercher les interfaces dont il a besoin. Ensuite, le conteneur appelle IOleObject::SetClientSite sur le contrôle, en passant un pointeur vers son site client. Ensuite, le contrôle appelle QueryInterface sur ce site, récupérant un pointeur vers d’autres interfaces nécessaires.

À l’aide de la méthode QuickActivate , le conteneur passe un pointeur vers une structure QACONTAINER . La structure contient des pointeurs vers les interfaces nécessaires au contrôle et les valeurs de certaines propriétés ambiantes dont le contrôle peut avoir besoin. Lors du retour, le contrôle passe un pointeur vers une structure QACONTROL qui contient des pointeurs vers ses propres interfaces requises par le conteneur, ainsi que des informations de status supplémentaires.

Les méthodes IPersist*::Load et IPersist*::InitNew doivent être appelées après une activation rapide. Le contrôle doit établir ses connexions aux récepteurs du conteneur lors de l’activation rapide. Toutefois, ces connexions ne sont pas actives tant que IPersist*::Load ou IPersist*::InitNew n’a pas été appelé.

Spécifications

   
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 ocidl.h

Voir aussi

IPersistFile

IPersistStorage

IPersistStream

IPersistStreamInit

IQuickActivate