DdeInitializeA-Funktion (ddeml.h)
Registriert eine Anwendung mit der Dynamic Data Exchange Management Library (DDEML). Eine Anwendung muss diese Funktion aufrufen, bevor eine andere DDEML-Funktion (Dynamic Data Exchange Management Library) aufgerufen wird.
Syntax
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parameter
[in, out] pidInst
Typ: LPDWORD-
Der Anwendungsinstanzbezeichner. Bei der Initialisierung sollte dieser Parameter auf 0 zeigen. Wenn die Funktion erfolgreich ist, verweist dieser Parameter auf den Instanzbezeichner für die Anwendung. Dieser Wert sollte als idInst Parameter in allen anderen DDEML-Funktionen übergeben werden, für die er erforderlich ist. Wenn eine Anwendung mehrere Instanzen der DDEML Dynamic Link Library (DLL) verwendet, sollte die Anwendung für jede Instanz eine andere Rückruffunktion bereitstellen.
Wenn pidInst auf einen Wert ungleich Null zeigt, wird die Erneute Initialisierung der DDEML impliziert. In diesem Fall muss pidInst auf einen gültigen Anwendungsinstanzbezeichner verweisen.
[in] pfnCallback
Typ: PFNCALLBACK-
Ein Zeiger auf die anwendungsdefinierte DDE-Rückruffunktion. Diese Funktion verarbeitet DDE-Transaktionen, die vom System gesendet werden. Weitere Informationen finden Sie in der DdeCallback- Rückruffunktion.
[in] afCmd
Typ: DWORD-
Eine Reihe von APPCMD_, CBF_und MF_ Flags. Die APPCMD_ Flags enthalten spezielle Anweisungen zum DdeInitialize. Die CBF_ Flags geben Filter an, die verhindern, dass bestimmte Arten von Transaktionen die Rückruffunktion erreichen. Die MF_ Flags geben die Typen von DDE-Aktivitäten an, die eine DDE-Überwachungsanwendung überwacht. Die Verwendung dieser Flags verbessert die Leistung einer DDE-Anwendung, indem unnötige Aufrufe der Rückruffunktion eliminiert werden.
Dieser Parameter kann einen oder mehrere der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Ermöglicht es der Anwendung, DDE-Aktivitäten im System zu überwachen. Dieses Kennzeichen dient der Verwendung durch DDE-Überwachungsanwendungen. Die Anwendung gibt die Typen von DDE-Aktivitäten an, die überwacht werden sollen, indem ein oder mehrere Monitorkennzeichnungen mit dem APPCLASS_MONITOR-Flag kombiniert werden. Ausführliche Informationen finden Sie im folgenden Abschnitt "Hinweise". |
|
Registriert die Anwendung als Standardanwendung (nicht überwachte) DDEML-Anwendung. |
|
Verhindert, dass die Anwendung zu einem Server in einer DDE-Unterhaltung wird. Die Anwendung kann nur ein Client sein. Dieses Kennzeichen reduziert den Verbrauch von Ressourcen durch die DDEML. Sie enthält die Funktionalität des CBF_FAIL_ALLSVRXACTIONS Flags. |
|
Verhindert, dass die DDEML XTYP_CONNECT- und XTYP_WILDCONNECT Transaktionen an die Anwendung sendet, bis die Anwendung ihre Zeichenfolgenhandles erstellt und die Dienstnamen registriert hat oder die Filterung durch einen nachfolgenden Aufruf des DdeNameService- oder DdeInitialize-Funktion deaktiviert hat. Dieses Kennzeichen wird immer wirksam, wenn eine Anwendung DdeInitialize zum ersten Mal aufruft, unabhängig davon, ob die Anwendung das Flag angibt. Bei nachfolgenden Aufrufen von DdeInitializedeaktiviert die Angabe dieses Flags die Dienstnamenfilter der Anwendung, aber durch angeben, werden die Dienstnamenfilter der Anwendung aktiviert. |
|
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 Kennzeichen 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 der eigenen Instanz der Anwendung empfängt. Dieses Kennzeichen verhindert, dass eine Anwendung eine DDE-Unterhaltung mit einer eigenen Instanz erstellt. 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. Diese Kennzeichnung 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 beliebige DDE-Rückruffunktion im System gesendet wird. |
|
Benachrichtigt die Rückruffunktion immer dann, wenn eine Unterhaltung eingerichtet oder beendet wird. |
|
Benachrichtigt die Rückruffunktion immer dann, wenn ein DDE-Fehler auftritt. |
|
Benachrichtigt die Rückruffunktion, wenn eine DDE-Anwendung erstellt, freizugeben oder erhöht die Verwendungsanzahl eines Zeichenfolgenhandles oder jedes Mal, 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 immer dann, wenn das System oder eine Anwendung eine DDE-Nachricht sendet. |
ulRes
Typ: DWORD-
Reserviert; muss auf 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:
Bemerkungen
Eine Anwendung, die mehrere Instanzen der DDEML verwendet, darf DDEML-Objekte nicht zwischen Instanzen übergeben.
Eine DDE-Überwachungsanwendung sollte nicht versuchen, DDE-Vorgänge auszuführen (Unterhaltungen, Problemtransaktionen usw.) im Kontext derselben Anwendungsinstanz auszuführen.
Eine synchrone Transaktion schlägt mit einem DMLERR_REENTRANCY Fehler fehl, wenn eine Instanz desselben Vorgangs 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 DdeInitializegeändert werden kann. Das APPCMD_CLIENTONLY-Flag verhindert, dass die DDEML Schlüsselressourcen für den Server erstellt und nicht durch einen nachfolgenden Aufruf von DdeInitializegeändert werden kann.
Es gibt eine ANSI-Version und eine Unicode-Version von DdeInitialize. Die aufgerufene Version bestimmt den Typ der Fensterprozeduren zum Steuern von DDE-Unterhaltungen (ANSI oder Unicode) und den Standardwert für das iCodePage Member der CONVCONTEXT Struktur (CP_WINANSI oder CP_WINUNICODE).
Anmerkung
Der ddeml.h-Header definiert DdeInitialize als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | ddeml.h (enthalten Windows.h) |
Library | User32.lib |
DLL- | User32.dll |
Siehe auch
Übersicht über die dynamische Exchange-Verwaltungsbibliothek