OVERLAPPED 结构

Posted 未知生命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OVERLAPPED 结构相关的知识,希望对你有一定的参考价值。

typedef struct _OVERLAPPED { ULONG_PTR Internal;

ULONG_PTR InternalHigh;

union {

    struct {

DWORD Offset;

DWORD OffsetHigh;

} DUMMYSTRUCTNAME;

    PVOID Pointer;

    } DUMMYUNIONNAME;

HANDLE hEvent; } OVERLAPPED, *LPOVERLAPPED;

 

参数:

Internal: 预留给操作系统使用。它指定一个独立于系统的状态,当GetOverlappedResult函数返回时没有设置扩展错误信息ERROR_IO_PENDING时有效。
InternalHigh: 预留给操作系统使用。它指定长度的数据转移,当GetOverlappedResult函数返回TRUE时有效。
Offset: 该文件的位置是从文件起始处的字节偏移量。调用进程设置这个成员之前调用ReadFile或WriteFile函数。当读取或写入命名管道和通信设备时这个成员被忽略设为零。
OffsetHigh: 指定文件传送的字节偏移量的高位字。当读取或写入命名管道和通信设备时这个成员被忽略设为零。
hEvent:指向事件的句柄,当读操作或者写操作完成的时候该事件将置为有信号状态。用户必须初始化该事件为零或者无信号状态用 CreateEvent 函数。

以上是关于OVERLAPPED 结构的主要内容,如果未能解决你的问题,请参考以下文章

OVERLAPPED 结构

OVERLAPPED Win32 结构中的 hEvent 成员

Overlapped Model

关于重叠IO(overlapped)模型中完成例程使用的两点疑问

四.Windows I/O模型之重叠IO(overlapped)模型

GetQueuedCompletionStatusEx() 不返回 per-OVERLAPPED 错误代码