Fonction DdeInitializeA (ddeml.h)
Inscrit une application auprès de la bibliothèque de gestion DDEML (Dynamic Data Exchange Management Library ). Une application doit appeler cette fonction avant d’appeler toute autre fonction DDEML (Dynamic Data Exchange Management Library).
Syntaxe
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Paramètres
[in, out] pidInst
Type : LPDWORD
Identificateur de instance d’application. Lors de l’initialisation, ce paramètre doit pointer sur 0. Si la fonction réussit, ce paramètre pointe vers l’identificateur instance de l’application. Cette valeur doit être passée en tant que paramètre idInst dans toutes les autres fonctions DDEML qui l’exigent. Si une application utilise plusieurs instances de la bibliothèque de liens dynamiques (DLL) DDEML, l’application doit fournir une fonction de rappel différente pour chaque instance.
Si pidInst pointe vers une valeur différente de zéro, la réinitialisation du DDEML est implicite. Dans ce cas, pidInst doit pointer vers un identificateur instance application valide.
[in] pfnCallback
Type : PFNCALLBACK
Pointeur vers la fonction de rappel DDE définie par l’application. Cette fonction traite les transactions DDE envoyées par le système. Pour plus d’informations, consultez la fonction de rappel DdeCallback .
[in] afCmd
Type : DWORD
Ensemble d’indicateurs APPCMD_, CBF_ et MF_ . Les indicateurs APPCMD_ fournissent des instructions spéciales pour DdeInitialize. Les indicateurs CBF_ spécifient des filtres qui empêchent des types spécifiques de transactions d’atteindre la fonction de rappel. Les indicateurs MF_ spécifient les types d’activité DDE qu’une application de supervision DDE surveille. L’utilisation de ces indicateurs améliore les performances d’une application DDE en éliminant les appels inutiles à la fonction de rappel.
Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Permet à l’application de surveiller l’activité DDE dans le système. Cet indicateur est destiné aux applications de supervision DDE. L’application spécifie les types d’activité DDE à surveiller en combinant un ou plusieurs indicateurs d’analyse avec l’indicateur APPCLASS_MONITOR . Pour plus d’informations, consultez la section Remarques suivante. |
|
Inscrit l’application en tant qu’application DDEML standard (sans surveillance). |
|
Empêche l’application de devenir un serveur dans une conversation DDE. L’application ne peut être qu’un client. Cet indicateur réduit la consommation de ressources par le DDEML. Il inclut les fonctionnalités de l’indicateur CBF_FAIL_ALLSVRXACTIONS . |
|
Empêche le DDEML d’envoyer des transactions XTYP_CONNECT et XTYP_WILDCONNECT à l’application jusqu’à ce que l’application ait créé ses handles de chaîne et inscrit ses noms de service ou ait désactivé le filtrage par un appel ultérieur à la fonction DdeNameService ou DdeInitialize . Cet indicateur est toujours en vigueur lorsqu’une application appelle DdeInitialize pour la première fois, que l’application spécifie ou non l’indicateur. Lors des appels suivants à DdeInitialize, le fait de ne pas spécifier cet indicateur désactive les filtres de nom de service de l’application, mais le fait de le spécifier active les filtres de nom de service de l’application. |
|
Empêche la fonction de rappel de recevoir des transactions serveur. Le système retourne DDE_FNOTPROCESSED à chaque client qui envoie une transaction à cette application. Cet indicateur équivaut à combiner tous les indicateurs CBF_FAIL_. |
|
Empêche la fonction de rappel de recevoir des transactions XTYP_ADVSTART et XTYP_ADVSTOP . Le système retourne DDE_FNOTPROCESSED à chaque client qui envoie une transaction XTYP_ADVSTART ou XTYP_ADVSTOP au serveur. |
|
Empêche la fonction de rappel de recevoir des transactions XTYP_CONNECT et XTYP_WILDCONNECT . |
|
Empêche la fonction de rappel de recevoir XTYP_EXECUTE transactions. Le système retourne DDE_FNOTPROCESSED à un client qui envoie une transaction XTYP_EXECUTE au serveur. |
|
Empêche la fonction de rappel de recevoir des transactions XTYP_POKE . Le système retourne DDE_FNOTPROCESSED à un client qui envoie une transaction XTYP_POKE au serveur. |
|
Empêche la fonction de rappel de recevoir des transactions XTYP_REQUEST . Le système retourne DDE_FNOTPROCESSED à un client qui envoie une transaction XTYP_REQUEST au serveur. |
|
Empêche la fonction de rappel de recevoir XTYP_CONNECT transactions à partir des propres instance de l’application. Cet indicateur empêche une application d’établir une conversation DDE avec ses propres instance. Une application doit utiliser cet indicateur si elle doit communiquer avec d’autres instances d’elle-même, mais pas avec elle-même. |
|
Empêche la fonction de rappel de recevoir des notifications. Cet indicateur équivaut à combiner tous les indicateurs CBF_SKIP_. |
|
Empêche la fonction de rappel de recevoir des notifications XTYP_CONNECT_CONFIRM . |
|
Empêche la fonction de rappel de recevoir des notifications XTYP_DISCONNECT . |
|
Empêche la fonction de rappel de recevoir des notifications XTYP_REGISTER . |
|
Empêche la fonction de rappel de recevoir des notifications XTYP_UNREGISTER . |
|
Avertit la fonction de rappel chaque fois qu’une transaction est envoyée à une fonction de rappel DDE dans le système. |
|
Notifie la fonction de rappel chaque fois qu’une conversation est établie ou terminée. |
|
Notifie la fonction de rappel chaque fois qu’une erreur DDE se produit. |
|
Notifie la fonction de rappel chaque fois qu’une application DDE crée, libère ou incrémente le nombre d’utilisations d’un handle de chaîne ou chaque fois qu’un handle de chaîne est libéré à la suite d’un appel à la fonction DdeUninitialize . |
|
Notifie la fonction de rappel chaque fois qu’une boucle d’avertissement est démarrée ou terminée. |
|
Notifie la fonction de rappel chaque fois que le système ou une application publie un message DDE. |
|
Notifie la fonction de rappel chaque fois que le système ou une application envoie un message DDE. |
ulRes
Type : DWORD
Réservés au; doit être défini sur zéro.
Valeur retournée
Type : UINT
Si la fonction réussit, la valeur de retour est DMLERR_NO_ERROR.
Si la fonction échoue, la valeur de retour est l’une des valeurs suivantes :
Remarques
Une application qui utilise plusieurs instances du DDEML ne doit pas passer d’objets DDEML entre des instances.
Une application de surveillance DDE ne doit pas tenter d’effectuer des opérations DDE (établir des conversations, émettre des transactions, etc.) dans le contexte de la même application instance.
Une transaction synchrone échoue avec une erreur DMLERR_REENTRANCY si une instance de la même tâche a déjà une transaction synchrone en cours.
L’indicateur CBF_FAIL_ALLSVRXACTIONS entraîne le filtre DDEML sur toutes les transactions de serveur et peut être modifié par un appel ultérieur à DdeInitialize. L’indicateur APPCMD_CLIENTONLY empêche le DDEML de créer des ressources clés pour le serveur et ne peut pas être modifié par un appel ultérieur à DdeInitialize.
Il existe une version ANSI et une version Unicode de DdeInitialize. La version appelée détermine le type des procédures de fenêtre utilisées pour contrôler les conversations DDE (ANSI ou Unicode) et la valeur par défaut du membre iCodePage de la structure CONVCONTEXT (CP_WINANSI ou CP_WINUNICODE).
Notes
L’en-tête ddeml.h définit DdeInitialize en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ddeml.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Voir aussi
Vue d’ensemble de la bibliothèque de gestion Dynamic Data Exchange