我知道 SafeArrayAccessData 也进行锁定/解锁,但没关系,我只想知道它是否会返回不同于 pvData
的指针。
例如,此代码永远不会触发断言(我可以在测试中看到):
SafeArrayAccessData(sa, (void**) &ptr);
assert(ptr == sa->pvData);
有人知道 SafeArrayAccessData
会产生一个不等于 pvData
的指针吗?
最佳答案
由 SafeArrayAccessData()
设置的输出参数指针不是 psa->pvData
的唯一方法是函数的返回值不是 >S_OK
(例如,无法锁定数组,在这种情况下未指定输出参数的值)。
如果函数确实返回 S_OK
,则输出参数指针必须等于 psa->pvData
(毕竟,它还能是什么?)。
关于c++ - SafeArrayAccessData 会返回一个不同于 pvData 的指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28871989/