亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bluetoothmanaged.cs

?? 封裝了一部分的藍(lán)牙控制模塊
?? CS
字號(hào):
?using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.InteropServices;

namespace HTSoftware.Mobile
{
    public enum BthNsLookupFlags : uint
    {
        //LUP_DEEP = 0x0001,
        LUP_CONTAINERS = 0x0002,
        //LUP_NOCONTAINERS = 0x0004,
        //LUP_NEAREST = 0x0008,
        LUP_RETURN_NAME = 0x0010,
        LUP_RETURN_TYPE = 0x0020,
        //LUP_RETURN_VERSION = 0x0040,
        //LUP_RETURN_COMMENT = 0x0080,
        LUP_RETURN_ADDR = 0x0100,
        LUP_RETURN_BLOB = 0x0200,
        //LUP_RETURN_ALIASES = 0x0400,
        //LUP_RETURN_QUERY_STRING = 0x0800,
        //LUP_RETURN_ALL = 0x0FF0,
        LUP_RES_SERVICE = 0x8000,
        //LUP_FLUSHCACHE = 0x1000,
        //LUP_FLUSHPREVIOUS = 0x2000,
        BTHNS_LUP_RESET_ITERATOR = 0x00010000,
        BTHNS_LUP_NO_ADVANCE = 0x00020000,
        BTHNS_ABORT_CURRENT_INQUIRY = 0xfffffffd
    }

    public enum BthHardwareStatus : int
    {
        HCI_HARDWARE_UNKNOWN = 0,
        HCI_HARDWARE_NOT_PRESENT,
        HCI_HARDWARE_INITIALIZING,
        HCI_HARDWARE_RUNNING,
        HCI_HARDWARE_SHUTDOWN,
        HCI_HARDWARE_ERROR
    }

    public enum BthHardwareStatusResult : int
    {
        hsrSuccess = 0,
        hsrServiceNotActive = 1062
    }

    public enum TRadioMode : int
    {
        Connectable = 1,
        Discoverable = 2,
        PowerOff = 0
    }

    [StructLayout(LayoutKind.Explicit, Size = 16)]
    internal struct SockAddrIn
    {
        [FieldOffset(0)]
        internal ushort family;
        [FieldOffset(2)]
        internal char[] addrstr;  //14
        [FieldOffset(2)]
        internal ushort port;
        [FieldOffset(4)]
        internal byte[] addr;  //4
        [FieldOffset(8)]
        internal byte[] zero;  //8
    }

    public class SocketAddress
    {
        internal IntPtr pSockAddr;
        internal int lSockAddr;
    }

    public class CSAddrInfo
    {
        internal SocketAddress LocalAddr, RemoteAddr;
        internal int iSocketType, iProtocol;


    }

    internal struct TGUID
    {
        internal int D1;
        internal ushort D2;
        internal ushort D3;
        internal byte[] D4;   //8
    }

    internal enum WSAEcomparator : byte
    {
        COMP_EQUAL = 0,
        COMP_NOTLESS
    }

    internal struct WSAVersion
    {
        internal int dwVersion;
        internal WSAEcomparator ecHow;
    }

    internal struct AFProtocols
    {
        internal int iAddressFamily, iProtocol;
    }

    internal struct TBLOB
    {
        internal uint cbSize;
        internal IntPtr pBlobData; //PBYTE
    }

    public class WSAQuerySet
    {
        internal int dwSize;
        internal IntPtr lpszServiceInstanceName;   //PWideChar
        internal IntPtr lpServiceClassId;          //PGUID     
        internal IntPtr lpVersion;                 //PWSAVERSION;       
        internal IntPtr lpszComment;               //PWideChar     
        internal int dwNameSpace;
        internal IntPtr lpNSProviderId;            //PGUID;                   
        internal IntPtr lpszContext;               // PWideChar;                 
        internal int dwNumberOfProtocols;
        internal IntPtr lpafpProtocols;            //PAFProtocols;
        internal IntPtr lpszQueryString;           //PWideChar;
        internal int dwNumberOfCsAddrs;
        internal IntPtr lpcsaBuffer;               //PCSADDR_INFO;
        internal int dwOutputFlags;
        internal IntPtr lpBlob;                    //PBLOB;
        public static int NS_BTH = 16;

        public int NameSpace
        {
            get { return dwNameSpace; }
            set { dwNameSpace = value; }
        }

        public String ServiceInstanceName
        {
            get { return Marshal.PtrToStringUni(lpszServiceInstanceName); }
        }

        public int NumberOfCsAddrs
        {
            get { return dwNumberOfCsAddrs; }
        }

        public CSAddrInfo CSABuffer
        {
            get
            {
                CSAddrInfo addrinfo = new CSAddrInfo();
                Marshal.PtrToStructure(lpcsaBuffer, addrinfo);
                return addrinfo;
            }
        }

        public WSAQuerySet()
        {
            dwSize = Marshal.SizeOf(typeof(WSAQuerySet));
            lpszServiceInstanceName = IntPtr.Zero;
            lpServiceClassId = IntPtr.Zero;
            lpVersion = IntPtr.Zero;
            lpszComment = IntPtr.Zero;
            dwNameSpace = NS_BTH;
            lpNSProviderId = IntPtr.Zero;
            lpszContext = IntPtr.Zero;
            dwNumberOfProtocols = 0;
            lpafpProtocols = IntPtr.Zero;
            lpszQueryString = IntPtr.Zero;
            dwNumberOfCsAddrs = 0;
            lpcsaBuffer = IntPtr.Zero;
            dwOutputFlags = 0;
            lpBlob = IntPtr.Zero;
        }
    }

    public class BluetoothManaged
    {
        public static int WSAQUERYSET_SIZE = 60;
        public static int NS_BTH = 16;
        /**/
        /// <summary>
        /// 查找本地藍(lán)牙DeviceID
        /// </summary>
        /// <param name="pba">本地藍(lán)牙DeviceID</param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthReadLocalAddr(byte[] pba);

        /**/
        /// <summary>
        /// 初始化查找周圍設(shè)備
        /// </summary>
        /// <param name="pQuerySet">尋找條件</param>
        /// <param name="dwFlags">尋找標(biāo)識(shí)(LUP_CONTAINERS / LUP_RES_SERVICE)</param>
        /// <param name="lphLookup">句柄</param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthNsLookupServiceBegin(byte[] pQuerySet, BthNsLookupFlags dwFlags, out int lphLookup);

        /**/
        /// <summary>
        /// 開始查找藍(lán)牙設(shè)備
        /// </summary>
        /// <param name="hLookup">句柄</param>
        /// <param name="dwFlags">標(biāo)識(shí)(LUP_RETURN_NAME / LUP_RETURN_ADDR / LUP_RETURN_BLOB / BTHNS_LUP_RESET_ITERATOR / BTHNS_LUP_NO_ADVANCE)</param>
        /// <param name="lpdwBufferLength">返回的pResults含的字節(jié)數(shù)</param>
        /// <param name="pResults">WSAQUERYSET結(jié)構(gòu)字節(jié)組</param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthNsLookupServiceNext(int hLookup, BthNsLookupFlags dwFlags, ref int lpdwBufferLength, byte[] pResults);
        //public static extern int BthNsLookupServiceNext(int hLookup, BthNsLookupFlags dwFlags, ref int lpdwBufferLength, ref WSAQuerySet QuerySet);

        /**/
        /// <summary>
        /// 查找周圍藍(lán)牙設(shè)備結(jié)束
        /// </summary>
        /// <param name="hLookup"></param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthNsLookupServiceEnd(int hLookup);

        /**/
        /// <summary>
        /// 獲取配對(duì)碼請(qǐng)求
        /// </summary>
        /// <param name="pba"></param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthGetPINRequest(byte[] pba);

        /**/
        /// <summary>
        /// 設(shè)置配對(duì)碼
        /// </summary>
        /// <param name="pba"></param>
        /// <param name="cPinLength"></param>
        /// <param name="ppin"></param>
        /// <returns></returns>
        [DllImport("btdrt.dll", SetLastError = true)]
        public static extern int BthSetPIN(byte[] pba, int cPinLength, byte[] ppin);

        /**/
        /// <summary>
        /// 創(chuàng)建ACL連接
        /// </summary>
        /// <param name="pbt"></param>
        /// <param name="phandle"></param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthCreateACLConnection(byte[] pbt, ref ushort phandle);

        /**/
        /// <summary>
        /// 配對(duì)碼驗(yàn)證
        /// </summary>
        /// <param name="pbt"></param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthAuthenticate(byte[] pbt);

        /**/
        /// <summary>
        /// 關(guān)閉認(rèn)證連接
        /// </summary>
        /// <param name="handle"></param>
        /// <returns></returns>
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthCloseConnection(ushort handle);

        //BthGetHardwareStatus

        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern BthHardwareStatusResult BthGetHardwareStatus(ref BthHardwareStatus pistatus);

        //BthRevokePin
        [DllImport("Btdrt.dll", SetLastError = true)]
        public static extern int BthRevokePIN(byte[] pba);

        [DllImport("ws2.dll", EntryPoint = "WSAGetLastError", SetLastError = true)]
        public static extern int CeGetLastError();

        [DllImport("ws2_32.dll", EntryPoint = "WSAGetLastError", SetLastError = true)]
        public static extern int XpGetLastError();

        //SetService
        //[DllImport("Btdrt.dll", SetLastError = true)]
        //public static extern int BthNsSetService(byte[] lpqsRegInfo, WSAESETSERVICEOP essoperation, int dwControlFlags);

        [DllImport("BthUtil.dll")]
        public static extern int BthSetMode(TRadioMode dwMode); 

        [DllImport("BthUtil.dll")]
        public static extern int BthGetMode(out TRadioMode dwMode);
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产伦一区二区三区免费| 欧美成人乱码一区二区三区| 欧美久久高跟鞋激| 亚洲精品高清在线| heyzo一本久久综合| 国产欧美一区二区精品秋霞影院| 蜜桃视频在线观看一区二区| 在线观看免费成人| 亚洲成人av电影| 欧美日韩一级二级三级| 欧美精彩视频一区二区三区| 美女在线观看视频一区二区| 成人丝袜高跟foot| 日韩欧美一区二区久久婷婷| av爱爱亚洲一区| 成人av在线播放网址| 国产成人免费在线视频| 欧美大尺度电影在线| 91福利国产成人精品照片| 国产专区欧美精品| 麻豆免费精品视频| 日韩av电影免费观看高清完整版| 亚洲欧美色图小说| 国产精品欧美极品| 国产女主播在线一区二区| 欧美mv和日韩mv国产网站| 欧美一级高清片| 日韩一区二区视频在线观看| 欧美午夜宅男影院| 91极品美女在线| 99re6这里只有精品视频在线观看| 国产精品 欧美精品| 国产一区三区三区| 日本最新不卡在线| 香蕉影视欧美成人| 视频一区免费在线观看| 亚洲v日本v欧美v久久精品| 亚洲自拍偷拍网站| 天天影视涩香欲综合网| 视频一区二区中文字幕| 亚洲一区二区欧美日韩 | eeuss影院一区二区三区| 国产剧情一区二区三区| 国产一区二区伦理| 成人av电影免费观看| 99精品国产99久久久久久白柏| 97aⅴ精品视频一二三区| 色综合天天综合网国产成人综合天 | 在线观看一区不卡| 欧美性大战久久久久久久蜜臀 | 国产精品毛片大码女人| 91麻豆精品国产91久久久资源速度| 制服丝袜一区二区三区| 日韩欧美高清dvd碟片| 精品第一国产综合精品aⅴ| 国产日韩综合av| 亚洲乱码国产乱码精品精的特点 | 久久久综合精品| 国产精品沙发午睡系列990531| 亚洲同性同志一二三专区| 中文字幕一区二区三区在线播放| 一区二区三区在线播放| 亚洲香肠在线观看| 久久97超碰色| 成人av资源在线观看| 色综合久久88色综合天天| 91超碰这里只有精品国产| 日韩精品中文字幕一区二区三区 | 国产日产亚洲精品系列| 亚洲欧美一区二区三区久本道91 | 欧美美女喷水视频| 久久亚洲综合色一区二区三区| 国产精品私人自拍| 天天色天天操综合| 国产成a人亚洲| 欧美三级中文字| 久久久五月婷婷| 亚洲精品国产高清久久伦理二区| 蜜臀精品久久久久久蜜臀| 成人精品鲁一区一区二区| 欧美日韩一区二区电影| 国产精品久久久久久久午夜片| 一区二区三区在线不卡| 精品亚洲aⅴ乱码一区二区三区| av一区二区三区在线| 日韩欧美一卡二卡| 亚洲人成7777| 韩国女主播成人在线| 一本大道综合伊人精品热热| 精品精品欲导航| 亚洲精品免费一二三区| 国产呦萝稀缺另类资源| 欧美乱妇15p| 中文字幕综合网| 国产伦精一区二区三区| 欧美喷潮久久久xxxxx| 欧美激情资源网| 久久精品国产精品亚洲红杏| 欧日韩精品视频| 久久这里只有精品视频网| 无码av免费一区二区三区试看| 成人激情午夜影院| 精品毛片乱码1区2区3区| 夜夜精品浪潮av一区二区三区| 高清不卡一区二区在线| 91精品国产色综合久久不卡蜜臀 | 亚洲成人综合在线| 99综合电影在线视频| 精品国产91乱码一区二区三区| 午夜私人影院久久久久| 色先锋资源久久综合| 国产精品视频一区二区三区不卡| 久久99精品视频| 日韩一区二区三区av| 亚洲午夜视频在线| 色婷婷久久久久swag精品| 中文字幕av一区 二区| 国产一区二区主播在线| 日韩欧美国产三级电影视频| 天天操天天综合网| 欧美专区在线观看一区| 亚洲免费av网站| 一本久久a久久免费精品不卡| 中文字幕第一区| 国产91丝袜在线播放九色| 久久看人人爽人人| 国产精品自拍一区| 久久精品一区蜜桃臀影院| 国产一本一道久久香蕉| 欧美精品一区二区三区蜜桃视频| 秋霞电影网一区二区| 91精品国产综合久久精品图片 | 国产精品传媒视频| 成人av小说网| 亚洲色图一区二区三区| 91麻豆成人久久精品二区三区| 椎名由奈av一区二区三区| 一本色道a无线码一区v| 一区二区三区国产精华| 欧美少妇xxx| 午夜成人在线视频| 91精品国产综合久久蜜臀| 美女视频黄 久久| 久久美女高清视频| 成人综合在线观看| 免费在线观看日韩欧美| 精品国产免费一区二区三区香蕉 | 国内一区二区视频| 国产亚洲欧美激情| av一区二区不卡| 亚洲国产视频在线| 日韩亚洲欧美中文三级| 国产精品一区二区三区99| 国产精品久久久久一区| 一本久道久久综合中文字幕 | 色综合久久综合网欧美综合网| 夜夜嗨av一区二区三区四季av | 精品日韩欧美一区二区| 国产精品自拍毛片| 亚洲男人的天堂av| 欧美电影一区二区三区| 久久99精品国产麻豆婷婷| 欧美国产禁国产网站cc| 91原创在线视频| 日本亚洲视频在线| 日本一区二区成人在线| 在线观看日韩国产| 美国欧美日韩国产在线播放| 中文字幕久久午夜不卡| 欧美色爱综合网| 国产美女精品一区二区三区| 亚洲天堂免费在线观看视频| 欧美一区二区三区免费| 国产成人av电影在线观看| 一区二区在线观看视频| 日韩午夜在线影院| 99精品视频一区| 免费观看91视频大全| 国产精品女上位| 精品国产免费人成在线观看| 91精品国产黑色紧身裤美女| 欧美三级乱人伦电影| 在线中文字幕一区二区| 欧美一区二区视频在线观看| 精品精品欲导航| 亚洲视频精选在线| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲视频在线一区二区| 亚洲情趣在线观看| 天堂成人免费av电影一区| 九色|91porny| 91麻豆国产在线观看| 91精品国产色综合久久不卡电影| 久久婷婷久久一区二区三区| 国产精品久久久久影院色老大| 国产在线精品一区二区不卡了| 在线精品视频一区二区三四| 91视频在线看| 欧美激情中文字幕| 国产精品一区二区在线观看不卡 |