• LARGE_INTEGER类型


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

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

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

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

    typedef union _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的最高位为符号位。 
       

  • 相关阅读:
    安装 oracle
    svn 编辑
    软件构架
    liunx操作
    css的样式分类
    简单自己做了一个个人简历
    网页制作之表格,列表
    MYSQL表创建
    linux操作指令 第二部分
    linux操作指令 第一部分
  • 原文地址:https://www.cnblogs.com/jacklu/p/4314148.html
Copyright © 2020-2023  润新知