Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道 SafeArrayAccessData 也进行锁定/解锁,但没关系,我只想知道它是否返回一个不同于pvData.
pvData
例如,这段代码永远不会触发断言(我可以在测试中看到):
SafeArrayAccessData(sa, (void**) &ptr); assert(ptr == sa->pvData);
有谁知道SafeArrayAccessData会产生不等于的指针的情况pvData?
SafeArrayAccessData
设置外参数指针的唯一方法是函数的返回值不是以外SafeArrayAccessData()(例如,数组不能被锁定,在这种情况下,外参数的值是未指定的)。psa->pvDataS_OK
SafeArrayAccessData()
psa->pvData
S_OK
如果函数确实返回S_OK,则外参数指针必须相等psa->pvData(毕竟,它还能是什么?)。