0

具体来说,我想使用点对点消息队列,但因为我仍在使用 eVC++ 4 中的旧代码并且它只支持到 PocketPC 2003SE SDK,我CreateMsgQueue在标题中找不到和朋友(更新的 VisualStudio 的端口仍在进步)

我正在使用消息队列对使用 WM-6.5-DTK (VS2005) 开发的应用程序进行 IPC。

更新:
我正在使用以下代码(取自msgqueue.h)来存储函数指针并分别CoreDLL.dll使用GetProcAddress()and加载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 回答