Com COINIT\u SPEED\u OVER\u MEMORY有什么作用?
调用Com COINIT\u SPEED\u OVER\u MEMORY有什么作用?,com,Com,调用CoInitializeEx时,可以为dwCoInit指定以下值: typedef enum tagCOINIT { COINIT_MULTITHREADED = 0x0, COINIT_APARTMENTTHREADED = 0x2, COINIT_DISABLE_OLE1DDE = 0x4, COINIT_SPEED_OVER_MEMORY = 0x8, } COINIT; 提示性标题为“内存速度”的值有什么作用?现在它在COM中被忽略了吗?
CoInitializeEx
时,可以为dwCoInit
指定以下值:
typedef enum tagCOINIT {
COINIT_MULTITHREADED = 0x0,
COINIT_APARTMENTTHREADED = 0x2,
COINIT_DISABLE_OLE1DDE = 0x4,
COINIT_SPEED_OVER_MEMORY = 0x8,
} COINIT;
提示性标题为“内存速度”的值有什么作用?现在它在COM中被忽略了吗?不知道它是否仍然被使用,但它是为了改变COM算法使用的平衡 如果你有大量的内存并且不惜一切代价想要速度,你会设置这个标志 在内存不足的环境中,关闭该标志有利于减少内存使用
事实证明,(名望的)奇迹现在已经影响到了这个话题,尽管这面旗帜的本意是什么,但它显然什么也没做 有关更多详细信息,请参阅: 您应该何时启用此模式?这没关系,因为据我所知,COM中没有任何代码会根据进程是否已被置于此模式而更改其行为!看起来这个标志是在引入DCOM时添加的,但它从未连接到任何东西。(或者任何连接到它的代码都从未发布过。) 同样来自原始COM+架构师之一Steve Swartz: COM忽略了内存上的速度