Specifically, I want to use Point-to-point Message Queue but because I am still using legacy codes in eVC++ 4 and it only support until PocketPC 2003SE SDK, I cannot find CreateMsgQueue
and friends in the headers (the port to newer VisualStudio is still in progess)
I am using the Message Queue to do IPC with apps developed with WM-6.5-DTK (VS2005).
Update:
I am using the following code (taken from msgqueue.h
) to store function pointers and load CoreDLL.dll
using GetProcAddress()
and LoadLibrary()
respectively.
HANDLE /*WINAPI*/ (*CreateMsgQueue)(LPCWSTR lpName, LPMSGQUEUEOPTIONS lpOptions);
HANDLE /*WINAPI*/ (*OpenMsgQueue)(HANDLE hSrcProc, HANDLE hMsgQ
, LPMSGQUEUEOPTIONS lpOptions);
BOOL /*WINAPI*/ (*ReadMsgQueue)(HANDLE hMsgQ,
/*__out_bcount(cbBufferSize)*/ LPVOID lpBuffer, DWORD cbBufferSize,
LPDWORD lpNumberOfBytesRead, DWORD dwTimeout, DWORD *pdwFlags);
BOOL /*WINAPI*/ (*WriteMsgQueue)(HANDLE hMsgQ, LPVOID lpBuffer, DWORD cbDataSize,
DWORD dwTimeout, DWORD dwFlags);
BOOL /*WINAPI*/ (*GetMsgQueueInfo)(HANDLE hMsgQ, LPMSGQUEUEINFO lpInfo);
BOOL /*WINAPI*/ (*CloseMsgQueue)(HANDLE hMsgQ);
Is the above code alright since I need to comment out WINAPI
and __out_bcount(cbBufferSize)
in order for them to compile.