Freigeben über


DdeEnableCallback-Funktion (ddeml.h)

Aktiviert oder deaktiviert Transaktionen für eine bestimmte Unterhaltung oder für alle Unterhaltungen, die derzeit von der aufrufenden Anwendung eingerichtet wurden.

Syntax

BOOL DdeEnableCallback(
  [in] DWORD idInst,
  [in] HCONV hConv,
  [in] UINT  wCmd
);

Parameter

[in] idInst

Art: DWORD

Der Application-instance Bezeichner, der durch einen vorherigen Aufruf der Funktion DdeInitialize abgerufen wurde.

[in] hConv

Typ: HCONV

Ein Handle für die Unterhaltung, die aktiviert oder deaktiviert werden soll. Wenn dieser Parameter NULL ist, wirkt sich die Funktion auf alle Unterhaltungen aus.

[in] wCmd

Typ: UINT

Der Funktionscode. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
EC_ENABLEALL
0
Aktiviert alle Transaktionen für die angegebene Unterhaltung.
EC_ENABLEONE
0x0080
Aktiviert eine Transaktion für die angegebene Unterhaltung.
EC_DISABLE
0x0008
Deaktiviert alle blockierbaren Transaktionen für die angegebene Konversation.

Eine Serveranwendung kann die folgenden Transaktionen deaktivieren:

Eine Clientanwendung kann die folgenden Transaktionen deaktivieren:
EC_QUERYWAITING
2
Bestimmt, ob sich Transaktionen in der Warteschlange für die angegebene Unterhaltung befinden.

Rückgabewert

Typ: BOOL

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Wenn der wCmd-ParameterEC_QUERYWAITING ist und die Anwendungstransaktionswarteschlange eine oder mehrere nicht verarbeitete Transaktionen enthält, die nicht verarbeitet werden, ist der Rückgabewert TRUE. Andernfalls ist es FALSE.

Die DdeGetLastError-Funktion kann verwendet werden, um den Fehlercode abzurufen, der einer der folgenden Werte sein kann:

Hinweise

Eine Anwendung kann Transaktionen für eine bestimmte Konversation deaktivieren, indem sie den CBR_BLOCK Rückgabecode aus ihrer DDE-Rückruffunktion (Dynamic Data Exchange) zurückgibt. Wenn Sie die Konversation mithilfe der Funktion DdeEnableCallback erneut aktivieren, generiert das Betriebssystem die gleiche Transaktion, die beim Deaktivieren der Konversation ausgeführt wurde.

Die Verwendung des EC_QUERYWAITING-Flags ändert den Aktivierungsstatus der Unterhaltung nicht und führt nicht dazu, dass Transaktionen im Kontext des Aufrufs von DdeEnableCallback ausgegeben werden.

Wenn DdeEnableCallback mit EC_QUERYWAITING aufgerufen wird und die Funktion einen Wert ungleich null zurückgibt, sollte eine Anwendung versuchen, die Nachrichtenverarbeitung schnell zuzulassen, vom Rückruf zurückzugeben oder Rückrufe zu aktivieren. Ein solches Ergebnis garantiert nicht, dass nachfolgende Rückrufe erfolgen. Wenn DdeEnableCallback mit EC_QUERYWAITING aufgerufen wird, kann eine Anwendung mit blockierten Rückrufen bestimmen, ob Transaktionen für die blockierte Unterhaltung ausstehen. Selbst wenn ein solcher Aufruf null zurückgibt, sollte eine Anwendung Nachrichten natürlich immer rechtzeitig verarbeiten.

Anforderungen

   
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

Siehe auch

Konzept

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

Dynamic Data Exchange Management Library

Referenz