具体的には、ポイントツーポイント メッセージ キューを使用したいのですが、まだ eVC++ 4 のレガシー コードを使用しており、PocketPC 2003SE SDK までしかサポートされていないためCreateMsgQueue
、ヘッダーでフレンドを見つけることができません (新しい VisualStudio へのポートはまだ残っています)。進行)
メッセージ キューを使用して、WM-6.5-DTK (VS2005) で開発されたアプリで IPC を実行しています。
更新:
次のコード (から取得msgqueue.h
) を使用して、関数ポインターを格納し、それぞれを使用してロードしてCoreDLL.dll
います。GetProcAddress()
LoadLibrary()
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);
コメントアウトしてコンパイルする必要があるため、上記のコードは問題ありませWINAPI
ん__out_bcount(cbBufferSize)
。