summaryrefslogtreecommitdiff
path: root/svl/source/svdde/ddemlimp.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svl/source/svdde/ddemlimp.hxx')
-rw-r--r--svl/source/svdde/ddemlimp.hxx332
1 files changed, 166 insertions, 166 deletions
diff --git a/svl/source/svdde/ddemlimp.hxx b/svl/source/svdde/ddemlimp.hxx
index fc147d77bb7d..94cef6574c78 100644
--- a/svl/source/svdde/ddemlimp.hxx
+++ b/svl/source/svdde/ddemlimp.hxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -34,31 +34,31 @@
#include <ctype.h>
#include "ddemlos2.h"
-#define DDEMLSERVICETABLE_INISIZE 8
+#define DDEMLSERVICETABLE_INISIZE 8
// Bezeichner der systemglobalen DDEML-Tabelle
-#define DDEMLDATA "\\SHAREMEM\\OV_DDEML.DAT"
+#define DDEMLDATA "\\SHAREMEM\\OV_DDEML.DAT"
// vorlaeufig konstante Tabellengroessen
#define CONVTABLECOUNT 2048 /* max count conversations */
#define TRANSTABLECOUNT 2048 /* transactions */
-#define DDEMLAPPCOUNT 16 /* max count simultaniously running */
+#define DDEMLAPPCOUNT 16 /* max count simultaniously running */
/* ddeml (StarDivision) applications */
-#define ST_TERMACKREC 0x8000 /* wird im Conversationhandle gesetzt, */
+#define ST_TERMACKREC 0x8000 /* wird im Conversationhandle gesetzt, */
/* wenn die Partner-App DDE_TERMINATE */
/* bestaetigt hat */
-#define XST_TIMEOUT 17 /* Trans. hat Timeout ueberschritten */
-#define XST_WAITING_ACK 18 /* Trans. wartet auf Acknowledge */
-#define XST_WAITING_ADVDATA 19 /* Trans. wartet auf Advise-Daten */
-#define XST_WAITING_REQDATA 20 /* Trans. wartet auf angeforderte Daten */
+#define XST_TIMEOUT 17 /* Trans. hat Timeout ueberschritten */
+#define XST_WAITING_ACK 18 /* Trans. wartet auf Acknowledge */
+#define XST_WAITING_ADVDATA 19 /* Trans. wartet auf Advise-Daten */
+#define XST_WAITING_REQDATA 20 /* Trans. wartet auf angeforderte Daten */
/* User-Flags DDESTRUCT */
-#define IMP_HDATAAPPOWNED 0x8000
+#define IMP_HDATAAPPOWNED 0x8000
-#define CONVLISTNAME "DdeConvListId"
+#define CONVLISTNAME "DdeConvListId"
#define XTYPF_MASK (XTYPF_NOBLOCK | XTYPF_NODATA | XTYPF_ACKREQ)
@@ -71,14 +71,14 @@
// eines neuen Services gesendet
// Params: nPar1: hszBaseServName
// nPar2: hszInstServName
-#define WM_DDEML_REGISTER WM_USER+1
+#define WM_DDEML_REGISTER WM_USER+1
// Msg: WM_DDEML_UNREGISTER
// Empfaenger: wird allen DDEML-Applikationen nach Deregistrierung
// eines Services gesendet
// Params: nPar1: hszBaseServName
// nPar2: hszInstServName
-#define WM_DDEML_UNREGISTER WM_USER+2
+#define WM_DDEML_UNREGISTER WM_USER+2
//
//
@@ -86,58 +86,58 @@
struct ImpHCONV
{
- HCONV hConvPartner;
- HSZ hszPartner; // Name of partner application
- HSZ hszServiceReq; // Service name
- HSZ hszTopic; // Topic name
- USHORT nStatus; // ST_* of conversation
- HCONVLIST hConvList; // ConvListId , wenn in ConvList
- CONVCONTEXT aConvContext; // Conversation context
+ HCONV hConvPartner;
+ HSZ hszPartner; // Name of partner application
+ HSZ hszServiceReq; // Service name
+ HSZ hszTopic; // Topic name
+ USHORT nStatus; // ST_* of conversation
+ HCONVLIST hConvList; // ConvListId , wenn in ConvList
+ CONVCONTEXT aConvContext; // Conversation context
// private
- HWND hWndThis; // 0 == Handle not used
- HWND hWndPartner;
- PID pidOwner; // PID des DdeManagers, der
+ HWND hWndThis; // 0 == Handle not used
+ HWND hWndPartner;
+ PID pidOwner; // PID des DdeManagers, der
// den Conv-Handle erzeugt hat.
- USHORT nPrevHCONV; // 0 == no previous hConv or not in list
- USHORT nNextHCONV; // 0 == no next hconv or not in list
+ USHORT nPrevHCONV; // 0 == no previous hConv or not in list
+ USHORT nNextHCONV; // 0 == no next hconv or not in list
};
struct Transaction
{
- HSZ hszItem; // Item name
- USHORT nFormat; // Data format
- USHORT nType; // Transaction type (XTYP_*)
+ HSZ hszItem; // Item name
+ USHORT nFormat; // Data format
+ USHORT nType; // Transaction type (XTYP_*)
// XTYP_ADVREQ [|XTYPF_NODATA] == Advise-Loop
- // [|XTYPF_ACKREQ]
+ // [|XTYPF_ACKREQ]
// XTYP_EXECUTE == laufendes Execute
// XTYP_REQUEST
// XTYP_POKE
// XTYP_ADVSTOP
// XTYP_ADVSTART
- USHORT nConvst; // Conversation state (XST_*)
+ USHORT nConvst; // Conversation state (XST_*)
// 0 == idle
// XST_REQSENT (fuer XTYP_ADVREQ)
// XST_TIMEOUT (fuer alle Typen!)
// XST_WAITING (alle ausser XTYP_ADVREQ)
- USHORT nLastError; // last err in transaction
- ULONG nUser; // Userhandle
+ USHORT nLastError; // last err in transaction
+ ULONG nUser; // Userhandle
// private
- HCONV hConvOwner; // 0 == Transaction not used
+ HCONV hConvOwner; // 0 == Transaction not used
};
struct ImpWndProcParams
{
- HWND hWndReceiver;
- MPARAM nPar1;
- MPARAM nPar2;
+ HWND hWndReceiver;
+ MPARAM nPar1;
+ MPARAM nPar2;
};
struct ImpService
{
- HSZ hBaseServName; // Basis-Name des Service
- HSZ hInstServName; // Basis-Name + DDEML-Server-HWND der App
+ HSZ hBaseServName; // Basis-Name des Service
+ HSZ hInstServName; // Basis-Name + DDEML-Server-HWND der App
};
class ImpDdeMgr;
@@ -146,27 +146,27 @@ class ImpDdeMgr;
struct ImpConvWndData
{
ImpDdeMgr* pThis;
- USHORT nRefCount; // Zahl Conversations auf diesem Window
+ USHORT nRefCount; // Zahl Conversations auf diesem Window
};
// systemglobale Daten der Library (liegen in named shared memory)
struct ImpDdeMgrData
{
- ULONG nTotalSize;
- ULONG nOffsAppTable;
- ULONG nOffsConvTable;
- ULONG nOffsTransTable;
- USHORT nMaxAppCount;
- USHORT nMaxConvCount;
- USHORT nMaxTransCount;
- USHORT nLastErr;
- USHORT nReserved;
- USHORT nCurTransCount;
- USHORT nCurConvCount;
- HWND aAppTable[ 1 ]; // fuer Broadcast-Messages
- ImpHCONV aConvTable[ 1 ];
- Transaction aTransTable[ 1 ];
+ ULONG nTotalSize;
+ ULONG nOffsAppTable;
+ ULONG nOffsConvTable;
+ ULONG nOffsTransTable;
+ USHORT nMaxAppCount;
+ USHORT nMaxConvCount;
+ USHORT nMaxTransCount;
+ USHORT nLastErr;
+ USHORT nReserved;
+ USHORT nCurTransCount;
+ USHORT nCurConvCount;
+ HWND aAppTable[ 1 ]; // fuer Broadcast-Messages
+ ImpHCONV aConvTable[ 1 ];
+ Transaction aTransTable[ 1 ];
};
@@ -178,67 +178,67 @@ class ImpDdeMgr
friend void ImpWriteDdeStatus(char*,char*);
friend void ImpAddHSZ( HSZ, String& );
- static PSZ AllocAtomName( ATOM hString, ULONG& rBufLen );
+ static PSZ AllocAtomName( ATOM hString, ULONG& rBufLen );
static PDDESTRUCT MakeDDEObject( HWND hwnd, ATOM hItemName,
USHORT fsStatus, USHORT usFormat, PVOID pabData, ULONG usDataLen );
- static APIRET AllocNamedSharedMem( PPVOID ppBaseAddress, PSZ pName,
+ static APIRET AllocNamedSharedMem( PPVOID ppBaseAddress, PSZ pName,
ULONG nElementSize, ULONG nElementCount );
- HWND hWndServer;
- PID pidThis;
- PFNCALLBACK pCallback;
- ULONG nTransactFilter;
- CONVCONTEXT aDefaultContext;
- ImpDdeMgrData* pData;
- ImpService* pServices;
- USHORT nServiceCount;
+ HWND hWndServer;
+ PID pidThis;
+ PFNCALLBACK pCallback;
+ ULONG nTransactFilter;
+ CONVCONTEXT aDefaultContext;
+ ImpDdeMgrData* pData;
+ ImpService* pServices;
+ USHORT nServiceCount;
- ImpHCONV* pConvTable; // liegt in pData (nicht deleten!)
- Transaction* pTransTable; // liegt in pData (nicht deleten!)
- HWND* pAppTable; // liegt in pData (nicht deleten!)
+ ImpHCONV* pConvTable; // liegt in pData (nicht deleten!)
+ Transaction* pTransTable; // liegt in pData (nicht deleten!)
+ HWND* pAppTable; // liegt in pData (nicht deleten!)
- static ImpHCONV* GetConvTable( ImpDdeMgrData* );
+ static ImpHCONV* GetConvTable( ImpDdeMgrData* );
static Transaction* GetTransTable( ImpDdeMgrData* );
- static HWND* GetAppTable( ImpDdeMgrData* );
+ static HWND* GetAppTable( ImpDdeMgrData* );
- static HWND NextFrameWin( HENUM hEnum );
- void CreateServerWnd();
- void DestroyServerWnd();
- HWND CreateConversationWnd();
+ static HWND NextFrameWin( HENUM hEnum );
+ void CreateServerWnd();
+ void DestroyServerWnd();
+ HWND CreateConversationWnd();
// Fktn. duerfen nur fuer HCONVs aufgerufen werden, die
// in der eigenen Applikation erzeugt wurden
- static void DestroyConversationWnd( HWND hWndConv );
- static USHORT GetConversationWndRefCount( HWND hWndConv );
- static USHORT IncConversationWndRefCount( HWND hWndConv );
-
- MRESULT SrvWndProc(HWND hWnd,ULONG nMsg,MPARAM nPar1,MPARAM nPar2);
- MRESULT ConvWndProc(HWND hWnd,ULONG nMsg,MPARAM nPar1,MPARAM nPar2);
- void RegisterDDEMLApp();
- void UnregisterDDEMLApp();
- void CleanUp();
- ImpDdeMgrData* InitAll();
- static BOOL MyWinDdePostMsg( HWND, HWND, USHORT, PDDESTRUCT, ULONG );
- void MyInitiateDde( HWND hWndServer, HWND hWndClient,
+ static void DestroyConversationWnd( HWND hWndConv );
+ static USHORT GetConversationWndRefCount( HWND hWndConv );
+ static USHORT IncConversationWndRefCount( HWND hWndConv );
+
+ MRESULT SrvWndProc(HWND hWnd,ULONG nMsg,MPARAM nPar1,MPARAM nPar2);
+ MRESULT ConvWndProc(HWND hWnd,ULONG nMsg,MPARAM nPar1,MPARAM nPar2);
+ void RegisterDDEMLApp();
+ void UnregisterDDEMLApp();
+ void CleanUp();
+ ImpDdeMgrData* InitAll();
+ static BOOL MyWinDdePostMsg( HWND, HWND, USHORT, PDDESTRUCT, ULONG );
+ void MyInitiateDde( HWND hWndServer, HWND hWndClient,
HSZ hszService, HSZ hszTopic, CONVCONTEXT* pCC );
- DDEINIT* CreateDDEInitData( HWND hWndDest, HSZ hszService,
+ DDEINIT* CreateDDEInitData( HWND hWndDest, HSZ hszService,
HSZ hszTopic, CONVCONTEXT* pCC );
// wenn pDDEData==0, muss pCC gesetzt sein
- HCONV ConnectWithClient( HWND hWndClient, HSZ hszPartner,
+ HCONV ConnectWithClient( HWND hWndClient, HSZ hszPartner,
HSZ hszService, HSZ hszTopic, BOOL bSameInst,
DDEINIT* pDDEData, CONVCONTEXT* pCC = 0);
- HCONV CheckIncoming( ImpWndProcParams*, ULONG nTransMask,
+ HCONV CheckIncoming( ImpWndProcParams*, ULONG nTransMask,
HSZ& rhszItem );
// fuer Serverbetrieb. Ruft Callback-Fkt fuer alle offenen Advises
// auf, deren Owner der uebergebene HCONV ist.
// bFreeTransactions==TRUE: loescht die Transaktionen
// gibt Anzahl der getrennten Transaktionen zurueck
- USHORT SendUnadvises( HCONV hConv,
+ USHORT SendUnadvises( HCONV hConv,
USHORT nFormat, // 0==alle
BOOL bFreeTransactions );
- BOOL WaitTransState(
+ BOOL WaitTransState(
Transaction* pTrans, ULONG nTransId,
USHORT nNewState,
ULONG nTimeout );
@@ -246,142 +246,142 @@ class ImpDdeMgr
// DDEML ruft Callback mit XTYP_CONNECT-Transaction nur auf,
// wenn die App den angeforderten Service registriert hat
// Standardeinstellung: TRUE
- BOOL bServFilterOn;
+ BOOL bServFilterOn;
// Fehlercode muss noch systemglobal werden (Atom o. ae.)
- static USHORT nLastErrInstance; // wenn 0, dann gilt globaler Fehlercode
+ static USHORT nLastErrInstance; // wenn 0, dann gilt globaler Fehlercode
static ImpDdeMgrData* AccessMgrData();
- static HCONV CreateConvHandle( ImpDdeMgrData* pBase,
+ static HCONV CreateConvHandle( ImpDdeMgrData* pBase,
PID pidOwner,
HWND hWndThis, HWND hWndPartner,
HSZ hszPartner, HSZ hszServiceReq, HSZ hszTopic,
HCONV hPrevHCONV = 0 );
- static HCONV IsConvHandleAvailable( ImpDdeMgrData* pBase );
- static HCONV GetConvHandle( ImpDdeMgrData* pBase,
+ static HCONV IsConvHandleAvailable( ImpDdeMgrData* pBase );
+ static HCONV GetConvHandle( ImpDdeMgrData* pBase,
HWND hWndThis, HWND hWndPartner );
- static void FreeConvHandle( ImpDdeMgrData*, HCONV,
+ static void FreeConvHandle( ImpDdeMgrData*, HCONV,
BOOL bDestroyHWndThis = TRUE );
- static ULONG CreateTransaction( ImpDdeMgrData* pBase,
+ static ULONG CreateTransaction( ImpDdeMgrData* pBase,
HCONV hOwner, HSZ hszItem, USHORT nFormat,
USHORT nTransactionType );
- static ULONG GetTransaction( ImpDdeMgrData* pBase,
+ static ULONG GetTransaction( ImpDdeMgrData* pBase,
HCONV hOwner, HSZ hszItem, USHORT nFormat );
- static void FreeTransaction( ImpDdeMgrData*, ULONG nTransId );
+ static void FreeTransaction( ImpDdeMgrData*, ULONG nTransId );
- BOOL DisconnectAll();
+ BOOL DisconnectAll();
// Transaktionen muessen _vor_ den Konversationen geloescht werden!
- static void FreeTransactions( ImpDdeMgrData*, HWND hWndThis,
+ static void FreeTransactions( ImpDdeMgrData*, HWND hWndThis,
HWND hWndPartner );
- static void FreeTransactions( ImpDdeMgrData*, HCONV hConvOwner );
+ static void FreeTransactions( ImpDdeMgrData*, HCONV hConvOwner );
- static void FreeConversations( ImpDdeMgrData*,HWND hWndThis,
+ static void FreeConversations( ImpDdeMgrData*,HWND hWndThis,
HWND hWndPartner );
- ImpService* GetService( HSZ hszService );
- ImpService* PutService( HSZ hszService );
- void BroadcastService( ImpService*, BOOL bRegistered );
+ ImpService* GetService( HSZ hszService );
+ ImpService* PutService( HSZ hszService );
+ void BroadcastService( ImpService*, BOOL bRegistered );
// rh: Startposition(!) & gefundener Handle
static ImpHCONV* GetFirstServer( ImpDdeMgrData*, HCONVLIST, HCONV& rh);
static ImpHCONV* GetLastServer( ImpDdeMgrData*, HCONVLIST, HCONV& );
- static BOOL CheckConvListId( HCONVLIST hConvListId );
+ static BOOL CheckConvListId( HCONVLIST hConvListId );
- BOOL IsSameInstance( HWND hWnd );
- HSZ GetAppName( HWND hWnd );
+ BOOL IsSameInstance( HWND hWnd );
+ HSZ GetAppName( HWND hWnd );
// Transactions
- MRESULT DdeAck( ImpWndProcParams* pParams );
- MRESULT DdeAdvise( ImpWndProcParams* pParams );
- MRESULT DdeData( ImpWndProcParams* pParams );
- MRESULT DdeExecute( ImpWndProcParams* pParams );
- MRESULT DdeInitiate( ImpWndProcParams* pParams );
- MRESULT DdeInitiateAck( ImpWndProcParams* pParams );
- MRESULT DdePoke( ImpWndProcParams* pParams );
- MRESULT DdeRequest( ImpWndProcParams* pParams );
- MRESULT DdeTerminate( ImpWndProcParams* pParams );
- MRESULT DdeUnadvise( ImpWndProcParams* pParams );
- MRESULT DdeRegister( ImpWndProcParams* pParams );
- MRESULT DdeUnregister( ImpWndProcParams* pParams );
- MRESULT DdeTimeout( ImpWndProcParams* pParams );
-
- HDDEDATA Callback(
- USHORT nTransactionType,
- USHORT nClipboardFormat,
- HCONV hConversationHandle,
- HSZ hsz1,
- HSZ hsz2,
+ MRESULT DdeAck( ImpWndProcParams* pParams );
+ MRESULT DdeAdvise( ImpWndProcParams* pParams );
+ MRESULT DdeData( ImpWndProcParams* pParams );
+ MRESULT DdeExecute( ImpWndProcParams* pParams );
+ MRESULT DdeInitiate( ImpWndProcParams* pParams );
+ MRESULT DdeInitiateAck( ImpWndProcParams* pParams );
+ MRESULT DdePoke( ImpWndProcParams* pParams );
+ MRESULT DdeRequest( ImpWndProcParams* pParams );
+ MRESULT DdeTerminate( ImpWndProcParams* pParams );
+ MRESULT DdeUnadvise( ImpWndProcParams* pParams );
+ MRESULT DdeRegister( ImpWndProcParams* pParams );
+ MRESULT DdeUnregister( ImpWndProcParams* pParams );
+ MRESULT DdeTimeout( ImpWndProcParams* pParams );
+
+ HDDEDATA Callback(
+ USHORT nTransactionType,
+ USHORT nClipboardFormat,
+ HCONV hConversationHandle,
+ HSZ hsz1,
+ HSZ hsz2,
HDDEDATA hData,
- ULONG nData1,
- ULONG nData2 );
+ ULONG nData1,
+ ULONG nData2 );
- HCONV DdeConnectImp( HSZ hszService,HSZ hszTopic,CONVCONTEXT* pCC);
+ HCONV DdeConnectImp( HSZ hszService,HSZ hszTopic,CONVCONTEXT* pCC);
// connection data
- HCONV hCurConv; // wird im DdeInitiateAck gesetzt
- HCONVLIST hCurListId; // fuer DdeConnectList
- USHORT nPrevConv; // .... "" ....
- BOOL bListConnect;
+ HCONV hCurConv; // wird im DdeInitiateAck gesetzt
+ HCONVLIST hCurListId; // fuer DdeConnectList
+ USHORT nPrevConv; // .... "" ....
+ BOOL bListConnect;
// synchr. transaction data
- BOOL bInSyncTrans;
- ULONG nSyncTransId;
- HDDEDATA hSyncResponseData;
- ULONG nSyncResponseMsg; // WM_DDE_ACK, WM_DDE_DATA, WM_TIMER
+ BOOL bInSyncTrans;
+ ULONG nSyncTransId;
+ HDDEDATA hSyncResponseData;
+ ULONG nSyncResponseMsg; // WM_DDE_ACK, WM_DDE_DATA, WM_TIMER
// TRUE==nach Ende der synchronen Transaktion eine evtl. benutzte
// asynchrone Transaktion beenden (typisch synchroner Request auf
// Advise-Loop)
- BOOL bSyncAbandonTrans;
+ BOOL bSyncAbandonTrans;
public:
ImpDdeMgr();
~ImpDdeMgr();
- USHORT DdeInitialize( PFNCALLBACK pCallbackProc, ULONG nTransactionFilter );
- USHORT DdeGetLastError();
+ USHORT DdeInitialize( PFNCALLBACK pCallbackProc, ULONG nTransactionFilter );
+ USHORT DdeGetLastError();
- HCONV DdeConnect( HSZ hszService, HSZ hszTopic, CONVCONTEXT* );
- HCONVLIST DdeConnectList( HSZ hszService, HSZ hszTopic,
+ HCONV DdeConnect( HSZ hszService, HSZ hszTopic, CONVCONTEXT* );
+ HCONVLIST DdeConnectList( HSZ hszService, HSZ hszTopic,
HCONVLIST hConvList, CONVCONTEXT* );
- static BOOL DdeDisconnect( HCONV hConv );
- static BOOL DdeDisconnectList( HCONVLIST hConvList );
- static HCONV DdeReconnect(HCONV hConv);
- static HCONV DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev);
- static USHORT DdeQueryConvInfo(HCONV hConv, ULONG idTrans,CONVINFO* pCI);
- static BOOL DdeSetUserHandle(HCONV hConv, ULONG id, ULONG hUser);
- BOOL DdeAbandonTransaction( HCONV hConv, ULONG idTransaction);
+ static BOOL DdeDisconnect( HCONV hConv );
+ static BOOL DdeDisconnectList( HCONVLIST hConvList );
+ static HCONV DdeReconnect(HCONV hConv);
+ static HCONV DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev);
+ static USHORT DdeQueryConvInfo(HCONV hConv, ULONG idTrans,CONVINFO* pCI);
+ static BOOL DdeSetUserHandle(HCONV hConv, ULONG id, ULONG hUser);
+ BOOL DdeAbandonTransaction( HCONV hConv, ULONG idTransaction);
- BOOL DdePostAdvise( HSZ hszTopic, HSZ hszItem);
- BOOL DdeEnableCallback( HCONV hConv, USHORT wCmd);
+ BOOL DdePostAdvise( HSZ hszTopic, HSZ hszItem);
+ BOOL DdeEnableCallback( HCONV hConv, USHORT wCmd);
- HDDEDATA DdeNameService( HSZ hszService, USHORT afCmd);
+ HDDEDATA DdeNameService( HSZ hszService, USHORT afCmd);
- static HDDEDATA DdeClientTransaction(void* pData, ULONG cbData,
+ static HDDEDATA DdeClientTransaction(void* pData, ULONG cbData,
HCONV hConv, HSZ hszItem, USHORT wFmt, USHORT wType,
ULONG dwTimeout, ULONG* pdwResult);
// Data handles
- HDDEDATA DdeCreateDataHandle( void* pSrc, ULONG cb, ULONG cbOff,
+ HDDEDATA DdeCreateDataHandle( void* pSrc, ULONG cb, ULONG cbOff,
HSZ hszItem, USHORT wFmt, USHORT afCmd);
- static BYTE* DdeAccessData(HDDEDATA hData, ULONG* pcbDataSize);
- static BOOL DdeUnaccessData(HDDEDATA hData);
- static BOOL DdeFreeDataHandle(HDDEDATA hData);
+ static BYTE* DdeAccessData(HDDEDATA hData, ULONG* pcbDataSize);
+ static BOOL DdeUnaccessData(HDDEDATA hData);
+ static BOOL DdeFreeDataHandle(HDDEDATA hData);
static HDDEDATA DdeAddData(HDDEDATA hData,void* pSrc,ULONG cb,ULONG cbOff);
- static ULONG DdeGetData(HDDEDATA hData,void* pDst,ULONG cbMax,ULONG cbOff);
+ static ULONG DdeGetData(HDDEDATA hData,void* pDst,ULONG cbMax,ULONG cbOff);
// String handles
- static HSZ DdeCreateStringHandle( PSZ pStr, int iCodePage);
- static ULONG DdeQueryString(HSZ hsz,PSZ pStr,ULONG cchMax,int iCPage);
- static BOOL DdeFreeStringHandle( HSZ hsz );
- static BOOL DdeKeepStringHandle( HSZ hsz );
- static int DdeCmpStringHandles(HSZ hsz1, HSZ hsz2);
+ static HSZ DdeCreateStringHandle( PSZ pStr, int iCodePage);
+ static ULONG DdeQueryString(HSZ hsz,PSZ pStr,ULONG cchMax,int iCPage);
+ static BOOL DdeFreeStringHandle( HSZ hsz );
+ static BOOL DdeKeepStringHandle( HSZ hsz );
+ static int DdeCmpStringHandles(HSZ hsz1, HSZ hsz2);
// mit dieser Funktion kann geprueft werden, ob eine
// Applikation schon eine DDEML-Instanz angelegt hat.
@@ -391,7 +391,7 @@ public:
// gibt TRUE zurueck, wenn mind. ein lebender HCONV
// von diesem DdeMgr erzeugt wurde
- BOOL OwnsConversationHandles();
+ BOOL OwnsConversationHandles();
};
// static