You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自动生成的DispID为何从0x60020000开始?

.NET导出TLB时默认DispID起始值0x60020000的含义

这个起始值是微软为.NET COM互操作场景预留的DispID范围,具体含义和缘由可以拆解来看:

  • 0x60020000对应COM规范里定义的DISPID_STARTENUM常量,是系统自动分配DispID的起始标记,用来和用户手动指定的DispID划清界限——用户自定义的DispID一般会使用较小的数值(比如0、1、2这类连续值),从这个值开始分配能完全避免冲突。
  • 这个区间也避开了COM自动化里的特殊预留DispID,比如代表默认成员的DISPID_VALUE(值为0)、代表枚举器的DISPID_NEWENUM(值为-4)等,确保.NET导出的接口成员ID不会和这些系统级特殊ID重叠。
  • 本质上是微软在.NET和COM互操作时遵循COM规范的设计选择,既符合自动化接口的ID分配规则,又能保证自定义ID和自动分配ID互不干扰。

内容的提问来源于stack exchange,提问作者EO3-Kopf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:18:13