解决MASM32代码汇编出错: error A2181: initializer must be a string or single item

最近用MASM32编程更新SysInfo,增加对IPv6连接信息的收集,使用到了

typedef struct _MIB_TCP6ROW_OWNER_MODULE {UCHAR         ucLocalAddr[16];DWORD         dwLocalScopeId;DWORD         dwLocalPort;UCHAR         ucRemoteAddr[16];DWORD         dwRemoteScopeId;DWORD         dwRemotePort;DWORD         dwState;DWORD         dwOwningPid;LARGE_INTEGER liCreateTimestamp;ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_TCP6ROW_OWNER_MODULE, *PMIB_TCP6ROW_OWNER_MODULE;

typedef struct _MIB_TCP6TABLE_OWNER_MODULE {DWORD                    dwNumEntries;MIB_TCP6ROW_OWNER_MODULE table[ANY_SIZE];
} MIB_TCP6TABLE_OWNER_MODULE, *PMIB_TCP6TABLE_OWNER_MODULE;

使用继续更新完善:C++ 结构体代码转MASM32代码

将它们转换为MASM32的定义:

;typedef struct _MIB_TCP6ROW_OWNER_MODULE {
;  UCHAR         ucLocalAddr[16];
;  DWORD         dwLocalScopeId;
;  DWORD         dwLocalPort;
;  UCHAR         ucRemoteAddr[16];
;  DWORD         dwRemoteScopeId;
;  DWORD         dwRemotePort;
;  DWORD         dwState;
;  DWORD         dwOwningPid;
;  LARGE_INTEGER liCreateTimestamp;
;  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
;} MIB_TCP6ROW_OWNER_MODULE, *PMIB_TCP6ROW_OWNER_MODULE;MIB_TCP6ROW_OWNER_MODULE STRUCTucLocalAddr     UCHAR	16 dup (?) dwLocalScopeId	DWORD	?dwLocalPort     DWORD	?ucRemoteAddr	UCHAR	16 dup (?)dwRemoteScopeId	DWORD	?dwRemotePort	DWORD	?dwState	        DWORD	?dwOwningPid     DWORD	?liCreateTimestamp	LARGE_INTEGER <>OwningModuleInfo	ULONGLONG	TCPIP_OWNING_MODULE_SIZE dup(?)
MIB_TCP6ROW_OWNER_MODULE ENDSPMIB_TCP6ROW_OWNER_MODULE typedef ptr MIB_TCP6ROW_OWNER_MODULE;typedef struct _MIB_TCP6TABLE_OWNER_MODULE {
;  DWORD                    dwNumEntries;
;  MIB_TCP6ROW_OWNER_MODULE table[ANY_SIZE];
;} MIB_TCP6TABLE_OWNER_MODULE, *PMIB_TCP6TABLE_OWNER_MODULE;MIB_TCP6TABLE_OWNER_MODULE STRUCTdwNumEntries DWORD	?table        MIB_TCP6ROW_OWNER_MODULE ANY_SIZE dup(<?>)
MIB_TCP6TABLE_OWNER_MODULE ENDS PMIB_TCP6TABLE_OWNER_MODULE typedef ptr MIB_TCP6TABLE_OWNER_MODULE

但是程序代码在汇编时出错:

error A2181: initializer must be a string or single item

第175行代码就位于MIB_TCP6TABLE_OWNER_MODULE 结构体定义代码中:

MIB_TCP6TABLE_OWNER_MODULE STRUCT                          ;173dwNumEntries DWORD	?                                   ;174table        MIB_TCP6ROW_OWNER_MODULE ANY_SIZE dup(<?>) ;175
MIB_TCP6TABLE_OWNER_MODULE ENDS                             ;176

这个定义 与 MASM32编写TcpStatC再进阶 显示PID和对应进程说明符 中的


MIB_TCPTABLE_OWNER_MODULE structdwNumEntries DWORD ?table        MIB_TCPROW_OWNER_MODULE ANY_SIZE dup(<?>)
MIB_TCPTABLE_OWNER_MODULE ends

是类似的,所以先检查了MIB_TCP6ROW_OWNER_MODULE 结构体代码定义,没有发现问题。

估计问题还是出在

table        MIB_TCPROW_OWNER_MODULE ANY_SIZE dup(<?>)

这行代码本身。结构体一般有多个成员, 初始值 <?> 这种写法,用一个?号可能不妥。

于是把代码改成

table        MIB_TCPROW_OWNER_MODULE ANY_SIZE dup(<>)

这次代码顺利汇编完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1621913.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

文本分类任务

文章目录 引言1. 文本分类-使用场景2. 自定义类别任务3. 贝叶斯算法3.1 预备知识3.2 贝叶斯公式3.3 贝叶斯公式的应用3.4 贝叶斯公式在NLP中的应用3.5 贝叶斯公式-文本分类3.6 代码实现3.7 贝叶斯算法的优缺点 4. 支持向量机4.1 支持向量机-核函数4.2 支持向量机-解决多分类4.3…

android系统启动流程之zygote如何创建SystemServer进程

SystemServer:是独立的进程&#xff0c;主要工作是管理服务的&#xff0c;它将启动大约90种服务Services. 它主要承担的职责是为APP的运行提供各种服务&#xff0c;像AMS,WMS这些服务并不是一个独立的进程&#xff0c; 它们其实都是SystemServer进程中需要管理的的众多服务之一…

从零到富:探索CSGO搬砖项目的无限可能

在如今互联网时代&#xff0c;有一项令人惊叹的项目正悄然兴起&#xff0c;它就是CSGO搬砖项目。作为一个从零开始的家伙&#xff0c;我亲身经历了这个项目的神奇魅力&#xff0c;每天轻松赚取几十上百的收益&#xff0c;无风险&#xff0c;低成本。今天&#xff0c;我将带领大…

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、…

围棋与育种

最近因为娃子报名了围棋课&#xff0c;我本着交一次课学两个人的态度&#xff0c;入门围棋&#xff0c;买了些书&#xff0c;听了些课&#xff0c;有所得。学了两个多月&#xff0c;现在6级水平&#xff0c;了解了基本的攻杀技巧&#xff0c;会判断输赢。 下面截图是今天的一盘…

QQ号大规模被盗与你我有什么关系?你我该如何做?

QQ号大规模被盗与你我有什么关系&#xff1f;你我该如何做&#xff1f; 时值QQ号大规模被告事件已经过去多天&#xff0c;今天&#xff0c;我们再次回顾一下此次事件的经过&#xff1a; 1、大规模用户被盗号。 2、不法分子用盗得账号向家人、朋友及其他联系人发送不雅图片。 …

wireshark抓包QQ号

过滤栏输入oicq&#xff0c;然后随便打开一个数据包&#xff0c;就可看到其qq号。 查看移动端QQ的账号 因为是用的是TCP协议&#xff0c;而TCP数据包众多&#xff0c;所以不方便过滤。 但是我发现在info栏中带有scotty-ft字样的数据包中可以找到qq号。你可以按ctrlF选择字符串过…

QQ号1941663132是一个诈骗

我一个拼多多订单(20元)中通运单丢失; 然后两个自称物流公司的电话联系我:19141980127/18988189942; 说是赔偿我 100 多块; 叫我订单截图发给他们客服QQ1941663132; 加了QQ、截图隐私信息打马赛克发了他; 对方给我一个二维码,我解析了一下,是一个 HTTP 协议不安全的网址…

[笔记] 阿里云域名知识

文章目录 前言一、域名二、域名常见分类2.1 泛域名2.2 为什么要设置子域名 三、记录类型3.1 A- 将域名指向一个PV4地址3.2 CNAME- 将域名指向另外一个域名3.3 AAAA- 将域名指向一个PV6地址3.4 MX- 将域名指向邮件服务器地址3.5 SRV- 记录提供特定的服务的服务器使用场景 3.6 TX…

飞秋接收文件提示防火墙

1、效果&#xff1a; 2、打开控制面板&#xff0c;设置小图标模式 3、打开防火墙设置 4、入站规则&#xff1a;把飞秋的路径添加 5、同理把出站规则也配一下。

飞秋与虚拟机的有关IP设置

由于各种原因公司规定&#xff0c;有一部分机器是不能上外网的。所以统一使用飞秋&#xff0c;这个聊天软件在公司内部。 今天&#xff0c;在自己的机器上弄了一个虚拟机&#xff0c;呵呵&#xff0c;你懂的哦&#xff0c;肯定使用的VMware了&#xff0c;不过咱使用的比较高的版…

如何使用飞秋FeiQ实现两电脑通信(或传输文件)

如何使用飞秋FeiQ实现两电脑通信&#xff08;或传输文件&#xff09; 1. 在两天电脑上&#xff0c;分别按照飞秋FeiQ 我使用的绿色飞秋2013正式版 2. 使用一根网线&#xff0c;将两电脑的网口连接一起 3. 设置飞秋FeiQ的端口号不同 &#xff08;1&#xff09;点击设置图标 &…

飞秋不能传递文件的两种情况

问题描述 当我们通过飞秋传递文件是经常出现失败的问题&#xff0c;但是说话没毛病。 下面列出两种解决办法&#xff0c;并且是又先后优先级的 情况一 我们首先需要的是将内网IP映射到外网的一个IP上&#xff0c;并且将IP与mac绑定&#xff0c;防止重启电脑后&#xff0c;内…

AndroidQ(十)Android Q功能和API

Android Q 功能和 API Android Q 为用户和开发者引入了强大的新功能。本文重点介绍面向开发者的新功能。 要了解新版 API&#xff0c;请阅读 API 差异报告或访问 Android API 参考。为醒目起见&#xff0c;将突出显示新版 API。此外&#xff0c;请务必查阅 Android Q 行为变更…

使用python模拟飞秋,网络助手发消息及自动回复简易制作

udp网络程序流程 创建一个基于udp的网络程序流程很简单&#xff0c;具体步骤如下&#xff1a; 创建客户端套接字&#xff1a;socket 发送/接收数据&#xff1a;sendto/recvfrom 关闭套接字 注意 此外还要对飞秋发送协议的简要了解&#xff0c;会更清楚帮助理解&#xff1…

Q-learning原理及其实现方法

Q_learning原理及其实现方法 声明前期回顾简介Q_learning算法Q_learning算法流程Q_learning算法理解Q_learning算法实现知识拓展 声明 学习博客快乐的强化学习1——Q_Learning及其实现方法&#xff0c;加之自己的理解写成&#xff0c;同时欢迎大家访问原博客 前期回顾 pytho…

2015Mac版飞秋无法接受文件夹!!!

飞秋Mac版和windows版在同一个网段下可以互传文件&#xff0c;但是不能传文件夹&#xff0c;脑壳疼。。。 各路大神可以重写飞秋的方法我就不敢说了&#xff0c;只能绕绕弯才能维持得了生活这样子&#xff0c;也可以用其他的飞鸽传书之类 但是大家都用飞秋我也没办法QAQ 用V…

用飞秋给朋友发送消息失败的原因分析及解决办法

作者&#xff1a;朱金灿 来源&#xff1a;http://blog.csdn.net/clever101 使用飞秋经常发生这样的错误&#xff1a; 给用户***发送失败&#xff01;可能用户已下线,或网络原因,或您发送的内容太长。您可刷新用户列表后重试。 温馨提示:如果对方不在线&#xff0c;您发送信息时…

SLAM从入门到精通(开始篇)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多同学喜欢学习linux&#xff0c;但是他们只是把linux当成是一个嵌入式技术在学习&#xff0c;而不是当成工具在使用。平时&#xff0c;要么是自…

Android JNI系列详解之ndk编译工具环境变量配置

一、前提 之前是只介绍了CMake编译工具的使用&#xff0c;现在介绍另一种原生&#xff08;NDK自带的脚本工具&#xff09;自带的编译方式&#xff1a;ndk-build&#xff0c;想要使用ndk-build编译工程&#xff0c;我们需要配置全局的环境变量。 二、配置环境变量 找到ndk在电脑…