C++:如何给LARGE_INTEGER对象赋值?以及从该对象中获取不大的整数?

RT!在线等,求助!
此联合的定义如下:

typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
} DUMMYSTRUCTNAME;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER;

LARGE_INTEGER.QuadPart 就得到一个 LONGLONG类型的整数了啊
其高位为 LARGE_INTEGER.HighPart
低位为LARGE_INTEGER.LowPart

其实LARGE_INTEGER现在来看也并没有多大, 表示范围等于long long 和 __int64.追问

请分别详解DUMMYSTRUCTNAME、u、QuadPart的具体含义

追答

其实并没有什么好解释的,这里面有好多历史性的原因。
很早以前就有这个union了,以前也没有匿名struct的概念。
以前得这样访问高位 LARGE_INTEGER.u.HighPart
中间多了个u,这会很麻烦,后面有了匿名struct的概念,就可以直接 LARGE_INTEGER.HighPart
这样访问了,但为了向前兼容,微软不能把u去掉,因为有代码还有它。
DUMMYSTRUCTNAME 宏其实是空的,就是用来定义匿名结构体的。

结构体的定义我想没什么好说的,你应该明白。

追问

嗯,谢谢

温馨提示:内容为网友见解,仅供参考
无其他回答

C++:如何给LARGE_INTEGER对象赋值?以及从该对象中获取不大的整数?
LARGE_INTEGER.QuadPart 就得到一个 LONGLONG类型的整数了啊 其高位为 LARGE_INTEGER.HighPart 低位为LARGE_INTEGER.LowPart 其实LARGE_INTEGER现在来看也并没有多大, 表示范围等于long long 和 __int64.

我在安装 SQL 2000 时候 系统提示需要安装Analysis Services 2000_百度...
但是,要在 Visual C++ 程序中使用这些对象,必须在程序中添加以下 编译器指令以包含正确的头文件和属性: "tagPROPVARIANT") rename("_LARGE_INTEGER","") rename("_ULARGE_INTEGER","") using namespace MSXmlAnalysisSCLib; 请求和返回连接 从连接池请求连接所用的机制不同于 OLE DB 资源池对基于 Web 的应...

如何使用ORACLE中的LOB字段
II.写过程从offset指定的位置开始,向LOB中写入长度为amount的数据,原LOB中在这个范围内的任何数据都将被覆盖。III.缓冲区的最大容量为32767字节,因此在写入大量数据时需多次调用该过程。下面再来介绍一下读过程:该过程的语法为:PROCEDURE READ(lob_locINBLOB,amount IN OUTBINARY_INTEGER,offset I...

ORACLE中有哪些数据类型
2、数值型:可用于存储整数、浮点数。number(m,n):m表示有效数字的总位数(最大为38位),n表示小 数位数。3、日期时间型:date:包含Year(年)、Month(月) 、Day(天)、Hour(时)、Minutes(分)、Second(秒)说明:(yyyy表示4位年分;mm表示月份;dd表示天;hh表示时;mi表示分;ss表示秒)4、大对象...

Pb中Ref blob file[] 怎么定义
使用BLOB类型变量获取外界文件的数据内容,还必须借助于PB提供的可视化OLE控制对象,通过它可以将指定的文件内容显示成相应的对象(如BMP图片),双击它就可以激活相应的OLE服务器应用程序,来编辑修改对象的内容,同时也可以读取对象的数据内容(利用OLE控件的ObjectData属性),给BLOB类型变量赋值。下面结合一...

windows 内核中如何实现Sleep
LARGE_INTEGER delayInterval;delayInterval.QuadPart = -1 * 100 * 100 * 10;KeDelayExecutionThread(KernelMode, FALSE, &delayInterval);KdPrint(("Delay finished\\n"));DriverObject->DriverUnload = DriverUnload;return STATUS_SUCCESS;} ```这个示例程序将延迟执行 1 秒钟,然后在调用完成后卸载...

如何从内核模式设备驱动程序中打开文件以及如何读取或写入文件_百度知 ...
获取文件句柄 若要获取文件句柄,您可以将一个 OBJECT_ATTRIBUTES 结构传递给 ZwCreateFile 函数。可以 GENERIC_READ、 GENERIC_WRITE,或 GENERIC_ALL,设置 DesiredAccess 参数,具体取决于要执行的内容。如果将 CreateOptions 参数设置为 FILE_SYNCHRONOUS_IO_NONALERT 或 FILE_SYNCHRONOUS_IO_ALERT,文件...

如何解决的Python类型错误
(2)将文件对象赋值给 f(3)将文件所有行输出(4)无论代码中是否出现异常,Python都会为我们关闭这个文件,我们不需要关心这些细节。这下,是不是明白了,使用with语句来使用这些共享资源,我们不用担心会因为某种原因而没有释放他。但并不是所有的对象都可以使用with语句,只有支持上下文管理协议(context management protocol...

易语言中如何读取当前网络时间,然后用标签显示出来。格式为12时30分00...
源码 = 到文本 (XML对象.读属性 (“responseBody”, ).取字节集 ())返回 (源码).子程序 高精度延时 .参数 微秒, 整数型 .局部变量 hTimer, 整数型 .局部变量 int64, LARGE_INTEGER int64.QuadPart = -10 × 微秒 hTimer = 创建可等待计时器 (0, 假, 0)启动可等待计时器 (hTimer, ...

PB中想要上传一个WORD文档或excel文档入数据库,用blob字段。有高手给...
PowerBuilder提供的BLOB(Binary Large Object)数据类型可以用来处理大型数据,包括图像、大文本、Word文档、二进制文件和多媒体等各种数据,它的长度可以是0~2GB字节,我们利用BLOB类型的变量可以将数据传递给数据库以大字段方式存储。但是用通常的数据窗口技术无法将BLOB类型数据加入到数据库中,也不能将...

相似回答