LARGE_INTEGER类型

发布时间:2025-12-09 11:52:43 浏览次数:1

最近在研究Windows驱动程序开发,遇到这样一个语句:

devExt->PortBase = (PUCHAR)(ULONG_PTR) portBasePA.QuadPart;

在源代码环境中,代表如果不需要地址映射,就把基址直接付给设备的端口基址。

查看了QuadPart的定义,portBasePA是一个LARGE_INTEGER类型。

typedefunion_LARGE_INTEGER {    struct {        ULONG LowPart;        LONG HighPart;    } DUMMYSTRUCTNAME;    struct {        ULONG LowPart;        LONG HighPart;    } u;#endif //MIDL_PASS    LONGLONG QuadPart;} LARGE_INTEGER;

LARGE_INTEGER是union;用于表示一64位有符号整数值;如果编译器直接支持64位整数可以直接使用QuadPart(64位),否则分别对LowPart(32位)和HighPart(32位)存取,HighPart的最高位为符号位。

large_integer
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477