基本信息
源码名称:C#唤起微信刷脸支付摄像头
源码大小:0.33M
文件格式:.zip
开发语言:C#
更新时间:2020-11-02
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


using System;
using System.Runtime.InteropServices;
using System.Text;

namespace WeChatFacePay
{
    class WxpayFaceSDK
    {
        // 声明
        [DllImport("WxpayFaceSDK.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
        public extern static int wxpayCallFaceService(IntPtr reqBuf, UInt32 reqSize, out IntPtr pRespBuf, out UInt32 pRespSize);

        [DllImport("WxpayFaceSDK.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
        public extern static int wxpayReleaseResponse(out IntPtr pRespBuf);

        // 简单封装
        public static int CallWxpayFaceService(string req, ref string resp)
        {
            byte[] reqBuf = Encoding.UTF8.GetBytes(req);
            IntPtr reqPtr = Marshal.AllocHGlobal(reqBuf.Length);
            Marshal.Copy(reqBuf, 0, reqPtr, reqBuf.Length);

            IntPtr respPtr;
            UInt32 respSize;

            int ret = wxpayCallFaceService(reqPtr, (UInt32)reqBuf.Length, out respPtr, out respSize);
            if (ret == 0)
            {
                byte[] respBuf = new byte[respSize];
                Marshal.Copy(respPtr, respBuf, 0, (int)respSize);
                resp = Encoding.UTF8.GetString(respBuf);
                wxpayReleaseResponse(out respPtr);
            }
            Marshal.FreeHGlobal(reqPtr);
            return ret;
        }
    }
}