• C++ SafeArrayAccessData,SafeArrayUnaccessData使用


        SafeArray是VB中的数组存储方式。通过SafeArray,可以在VC++和VB间相互调用。SafeArray也是Automation中的标准数组存储方式。

    1. SafeArrayAccessData

    函数原型:

    1 HRESULT SafeArrayAccessData(
    2 
    3   SAFEARRAY * psa,
    4 
    5   void HUGEP **  ppvData
    6 
    7 );

    这个函数用于获取SafeArray的数据指针,并锁定SafeArray数组的数据。在取得了数据指针之后,就可以直接访问SafeArray数组中的数据了。

    如果数组类型是Type,那么所取得的数据指针实际上就是Type类型的数组的地址。在多维数组的情况下,必须把多个维度的下标转换成一维下标进行访问。

    2. SafeArrayUnaccessData
    函数原型:

    1 HRESULT SafeArrayUnaccessData(
    2 
    3   SAFEARRAY * psa
    4 
    5 );

    这个函数的作用是对SafeArray数据解锁,解锁后,就不应该继续对数据指针进行读写访问。如果要访问,必须重新获取并锁定数据。

    总结:
    SafeArrayAccessData函数返回数组的指针。而SafeArrayUnaccessData释放通过SafeArrayAccessData所取得的指针。

    3.使用例子:

  • 相关阅读:
    括号序列的dp问题模型
    粉刷匠
    木棍加工
    物流运输
    最短路图
    DP基础(线性DP)总结
    离散化
    树链剖分
    NOIP2016 “西湖边超萌小松鼠” 模拟赛
    NOI导刊 2009 提高二
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/15155599.html
Copyright © 2020-2023  润新知