gpt4 book ai didi

windows - 如何为 ReadFileEx() 的完成例程提供上下文信息?

转载 作者:可可西里 更新时间:2023-11-01 09:50:11 26 4
gpt4 key购买 nike

Win32 ReadFileEx 定义为:

BOOL WINAPI ReadFileEx(
__in HANDLE hFile,
__out_opt LPVOID lpBuffer,
__in DWORD nNumberOfBytesToRead,
__inout LPOVERLAPPED lpOverlapped,
__in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

我正在尝试弄清楚如何使完成例程(最后一个参数)在操作完成时调用动态函数指针。似乎没有办法传递用户数据。有什么想法吗?

最佳答案

传入ReadFileEx的lpOverlapped函数传入lpCompletionRoutine函数。

您可以将 lpOverlapped 嵌入到您自己的结构中,然后使用它来查找指向您的上下文的指针:

struct ReadFileExContext
{
OVERLAPPED _Overlapped;
LPVOID MyContext;
};

然后在回调函数中将 LPOVERLAPPED 转换为 ReadFileContext,一切顺利。

关于windows - 如何为 ReadFileEx() 的完成例程提供上下文信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com