0

具体的には、ポイントツーポイント メッセージ キューを使用したいのですが、まだ 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)

4

1 に答える 1

0

ctackeで指摘されているように、実際には PPC2003 SDK で利用できます。MSDN の要件が間違っています。

ところで、上記のアプローチは、コメントアウトした後でも問題なく機能するようですWINAPI__out_bcount(cbBufferSize)

于 2010-04-21T08:05:40.543 に答える