zoukankan      html  css  js  c++  java
  • pinvoke 数据交互笔记

    intptr to array string

    string[]  _outputStrArray=null;

         int channelCount = 0;///返回数组大小
                IntPtr Channels = new IntPtr();
              
                int reslut = NativeMethods.getChannels(Global.Handle, nru, ref Channels, ref channelCount);
                if (reslut == 0) //将指针数据转换为string 数组
                {
                    IntPtr[] OutPointers = new IntPtr[channelCount];
                    Marshal.Copy(Channels, OutPointers, 0, channelCount);
                    _outputStrArray = new string[channelCount];
                    for (int i = 0; i < channelCount; i++)
                    {
                        _outputStrArray[i] = Marshal.PtrToStringAnsi(OutPointers[i]);
                    }
                }

    结构体数组指针

    定义结构体

     public struct out_TMitObjIdKVPair
        {

    ...

    ...

    ..

    }

    IntPtr timitobjs = new IntPtr();

     int count = 0;

     int result = NativeMethods.getSubObjs(Global.Handle, par, ref timitobjs, ref count);
                if (result == 0)
                {
                    for (int i = 0; i < count; i++)
                    {
                        out_TMitObjIdKVPair q = (out_TMitObjIdKVPair)Marshal.PtrToStructure((IntPtr)(timitobjs.ToInt32() + i * Marshal.SizeOf(typeof(out_TMitObjIdKVPair))), typeof(out_TMitObjIdKVPair));

    }

    }

  • 相关阅读:
    Excel 函数
    selenium+python自动化测试(二)对浏览器的简单操作
    selenium+python自动化测试(一)环境
    py中mongodb使用
    ESQL调oracle存储过程
    boost.asio简单入坑
    浅析tcp中read阻塞
    14 天堂电影信息爬取
    13 爬取豆瓣电影网电影信息
    12 lxml&XPath结合使用(提取数据详解)
  • 原文地址:https://www.cnblogs.com/Noproblem/p/3232135.html
Copyright © 2011-2022 走看看