SafeArrayAccessData 有没有 return 不同于 pvData 的指针?
Does SafeArrayAccessData ever return a pointer different from pvData?
我知道 SafeArrayAccessData 也可以 locking/unlocking,但没关系,我只想知道它是否曾 returns 一个不同于 pvData
的指针。
例如,此代码永远不会触发断言(我可以在测试中看到):
SafeArrayAccessData(sa, (void**) &ptr);
assert(ptr == sa->pvData);
有谁知道 SafeArrayAccessData
会产生一个不等于 pvData
的指针的场景?
如果函数的 return 值不是 S_OK
(例如无法锁定数组,在这种情况下,输出参数的值未指定)。
如果函数执行 return S_OK
,则输出参数指针必须等于 psa->pvData
(毕竟,它还能是什么?)。
我知道 SafeArrayAccessData 也可以 locking/unlocking,但没关系,我只想知道它是否曾 returns 一个不同于 pvData
的指针。
例如,此代码永远不会触发断言(我可以在测试中看到):
SafeArrayAccessData(sa, (void**) &ptr);
assert(ptr == sa->pvData);
有谁知道 SafeArrayAccessData
会产生一个不等于 pvData
的指针的场景?
如果函数的 return 值不是 S_OK
(例如无法锁定数组,在这种情况下,输出参数的值未指定)。
如果函数执行 return S_OK
,则输出参数指针必须等于 psa->pvData
(毕竟,它还能是什么?)。