DdeInitializeA-Funktion (ddeml.h)
Registriert eine Anwendung bei der Dynamic Data Exchange Management Library (DDEML). Eine Anwendung muss diese Funktion aufrufen, bevor sie eine andere DDEML-Funktion (Dynamic Data Exchange Management Library) aufruft.
Syntax
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parameter
[in, out] pidInst
Typ: LPDWORD
Die Anwendung instance Bezeichners. Bei der Initialisierung sollte dieser Parameter auf 0 zeigen. Wenn die Funktion erfolgreich ist, verweist dieser Parameter auf den instance Bezeichner für die Anwendung. Dieser Wert sollte als idInst-Parameter in allen anderen DDEML-Funktionen übergeben werden, die ihn benötigen. Wenn eine Anwendung mehrere Instanzen der DDEML-DLL (Dynamic Link Library) verwendet, sollte die Anwendung für jede instance eine andere Rückruffunktion bereitstellen.
Wenn pidInst auf einen Nonzero-Wert verweist, wird die erneute Initialisierung der DDEML impliziert. In diesem Fall muss pidInst auf einen gültigen Anwendungs-instance-Bezeichner verweisen.
[in] pfnCallback
Typ: PFNCALLBACK
Ein Zeiger auf die anwendungsdefinierte DDE-Rückruffunktion. Diese Funktion verarbeitet vom System gesendete DDE-Transaktionen. Weitere Informationen finden Sie in der Rückruffunktion DdeCallback .
[in] afCmd
Art: DWORD
Eine Reihe von APPCMD_-, CBF_- und MF_ -Flags. Die APPCMD_ -Flags bieten spezielle Anweisungen für DdeInitialize. Die CBF_ -Flags geben Filter an, die verhindern, dass bestimmte Transaktionstypen die Rückruffunktion erreichen. Die MF_ Flags geben die Typen der DDE-Aktivität an, die eine DDE-Überwachungsanwendung überwacht. Die Verwendung dieser Flags verbessert die Leistung einer DDE-Anwendung, indem unnötige Aufrufe der Rückruffunktion beseitigt werden.
Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.
Wert | Bedeutung |
---|---|
|
Ermöglicht es der Anwendung, die DDE-Aktivität im System zu überwachen. Dieses Flag ist für die Verwendung durch DDE-Überwachungsanwendungen vorgesehen. Die Anwendung gibt die Zu überwachenden DDE-Aktivitätstypen an, indem ein oder mehrere Monitorflags mit dem APPCLASS_MONITOR-Flags kombiniert werden. Ausführliche Informationen finden Sie im folgenden Abschnitt mit den Anmerkungen. |
|
Registriert die Anwendung als DDEML-Standardanwendung (ohne Überwachung). |
|
Verhindert, dass die Anwendung zu einem Server in einer DDE-Unterhaltung wird. Die Anwendung kann nur ein Client sein. Dieses Flag reduziert den Ressourcenverbrauch durch die DDEML. Sie enthält die Funktionalität des flags CBF_FAIL_ALLSVRXACTIONS . |
|
Verhindert, dass die DDEML XTYP_CONNECT und XTYP_WILDCONNECT Transaktionen an die Anwendung sendet, bis die Anwendung ihre Zeichenfolgenhandles erstellt und ihre Dienstnamen registriert hat oder die Filterung durch einen nachfolgenden Aufruf der DdeNameService - oder DdeInitialize-Funktion deaktiviert hat. Dieses Flag ist immer wirksam, wenn eine Anwendung DdeInitialize zum ersten Mal aufruft, unabhängig davon, ob die Anwendung das Flag angibt. Bei nachfolgenden Aufrufen von DdeInitialize werden die Dienstnamenfilter der Anwendung deaktiviert, wenn Sie dieses Flag nicht angeben, sondern die Dienstnamenfilter der Anwendung aktivieren. |
|
Verhindert, dass die Rückruffunktion Servertransaktionen empfängt. Das System gibt DDE_FNOTPROCESSED an jeden Client zurück, der eine Transaktion an diese Anwendung sendet. Dieses Flag entspricht der Kombination aller CBF_FAIL_ Flags. |
|
Verhindert, dass die Rückruffunktion XTYP_ADVSTART - und XTYP_ADVSTOP-Transaktionen empfängt. Das System gibt DDE_FNOTPROCESSED an jeden Client zurück, der eine XTYP_ADVSTART - oder XTYP_ADVSTOP-Transaktion an den Server sendet. |
|
Verhindert, dass die Rückruffunktion XTYP_CONNECT - und XTYP_WILDCONNECT-Transaktionen empfängt. |
|
Verhindert, dass die Rückruffunktion XTYP_EXECUTE Transaktionen empfängt. Das System gibt DDE_FNOTPROCESSED an einen Client zurück, der eine XTYP_EXECUTE Transaktion an den Server sendet. |
|
Verhindert, dass die Rückruffunktion XTYP_POKE Transaktionen empfängt. Das System gibt DDE_FNOTPROCESSED an einen Client zurück, der eine XTYP_POKE Transaktion an den Server sendet. |
|
Verhindert, dass die Rückruffunktion XTYP_REQUEST Transaktionen empfängt. Das System gibt DDE_FNOTPROCESSED an einen Client zurück, der eine XTYP_REQUEST Transaktion an den Server sendet. |
|
Verhindert, dass die Rückruffunktion XTYP_CONNECT Transaktionen aus dem eigenen instance der Anwendung empfängt. Dieses Flag verhindert, dass eine Anwendung eine DDE-Unterhaltung mit einer eigenen instance. Eine Anwendung sollte dieses Flag verwenden, wenn sie mit anderen Instanzen von sich selbst, aber nicht mit sich selbst kommunizieren muss. |
|
Verhindert, dass die Rückruffunktion Benachrichtigungen empfängt. Dieses Flag entspricht der Kombination aller CBF_SKIP_ Flags. |
|
Verhindert, dass die Rückruffunktion XTYP_CONNECT_CONFIRM Benachrichtigungen empfängt. |
|
Verhindert, dass die Rückruffunktion XTYP_DISCONNECT Benachrichtigungen empfängt. |
|
Verhindert, dass die Rückruffunktion XTYP_REGISTER Benachrichtigungen empfängt. |
|
Verhindert, dass die Rückruffunktion XTYP_UNREGISTER Benachrichtigungen empfängt. |
|
Benachrichtigt die Rückruffunktion, wenn eine Transaktion an eine DDE-Rückruffunktion im System gesendet wird. |
|
Benachrichtigt die Rückruffunktion, wenn eine Konversation eingerichtet oder beendet wird. |
|
Benachrichtigt die Rückruffunktion, wenn ein DDE-Fehler auftritt. |
|
Benachrichtigt die Rückruffunktion, wenn eine DDE-Anwendung die Nutzungsanzahl eines Zeichenfolgenhandles erstellt, freigibt oder erhöht oder wenn ein Zeichenfolgenhandle als Ergebnis eines Aufrufs der DdeUninitialize-Funktion freigegeben wird. |
|
Benachrichtigt die Rückruffunktion, wenn eine Empfehlungsschleife gestartet oder beendet wird. |
|
Benachrichtigt die Rückruffunktion, wenn das System oder eine Anwendung eine DDE-Nachricht sendet. |
|
Benachrichtigt die Rückruffunktion, wenn das System oder eine Anwendung eine DDE-Nachricht sendet. |
ulRes
Art: DWORD
Reserviert; muss auf 0 (null) festgelegt werden.
Rückgabewert
Typ: UINT
Wenn die Funktion erfolgreich ist, wird der Rückgabewert DMLERR_NO_ERROR.
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Werte:
Hinweise
Eine Anwendung, die mehrere Instanzen der DDEML verwendet, darf DDEML-Objekte nicht zwischen Instanzen übergeben.
Eine DDE-Überwachungsanwendung sollte nicht versuchen, DDE-Vorgänge (Unterhaltungen einrichten, Transaktionen ausstellen usw.) im Kontext derselben Anwendung instance auszuführen.
Eine synchrone Transaktion schlägt mit einem DMLERR_REENTRANCY Fehler fehl, wenn eine instance derselben Aufgabe bereits eine synchrone Transaktion ausgeführt hat.
Das CBF_FAIL_ALLSVRXACTIONS-Flag bewirkt, dass die DDEML alle Servertransaktionen filtert und durch einen nachfolgenden Aufruf von DdeInitialize geändert werden kann. Das APPCMD_CLIENTONLY-Flag verhindert, dass die DDEML Schlüsselressourcen für den Server erstellt und kann nicht durch einen nachfolgenden Aufruf von DdeInitialize geändert werden.
Es gibt eine ANSI-Version und eine Unicode-Version von DdeInitialize. Die aufgerufene Version bestimmt den Typ der Fensterprozeduren, die zum Steuern von DDE-Unterhaltungen (ANSI oder Unicode) verwendet werden, und den Standardwert für das iCodePage-Element der CONVCONTEXT-Struktur (CP_WINANSI oder CP_WINUNICODE).
Hinweis
Der ddeml.h-Header definiert DdeInitialize als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ddeml.h (Windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
Weitere Informationen
Übersicht über die Dynamic Data Exchange-Verwaltungsbibliothek