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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vcdll.cpp

?? 單片機USB串口通信模塊的動態鏈接庫
?? CPP
字號:
// vcdll.cpp : Defines the initialization routines for the DLL.
//

#include "stdafx.h"
#include "vcdll.h"
extern "C" int APIENTRY  WriteUsb(char SendBuff[],int count);// 
extern "C" BSTR  APIENTRY  ReadUsb(int count);
//extern static int GetDevicePath(LPGUID lpGuid, LPTSTR* pszDevicePath);

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//
//	Note!
//
//		If this DLL is dynamically linked against the MFC
//		DLLs, any functions exported from this DLL which
//		call into MFC must have the AFX_MANAGE_STATE macro
//		added at the very beginning of the function.
//
//		For example:
//
//		extern "C" BOOL PASCAL EXPORT ExportedFunction()
//		{
//			AFX_MANAGE_STATE(AfxGetStaticModuleState());
//			// normal function body here
//		}
//
//		It is very important that this macro appear in each
//		function, prior to any calls into MFC.  This means that
//		it must appear as the first statement within the 
//		function, even before any object variable declarations
//		as their constructors may generate calls into the MFC
//		DLL.
//
//		Please see MFC Technical Notes 33 and 58 for additional
//		details.
//

/////////////////////////////////////////////////////////////////////////////
// CVcdllApp

BEGIN_MESSAGE_MAP(CVcdllApp, CWinApp)
	//{{AFX_MSG_MAP(CVcdllApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CVcdllApp construction

CVcdllApp::CVcdllApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CVcdllApp object

CVcdllApp theApp;
		static int GetDevicePath(LPGUID lpGuid, LPTSTR* pszDevicePath)
		{

			HDEVINFO hDevInfoSet;
			SP_DEVICE_INTERFACE_DATA ifdata;
			PSP_DEVICE_INTERFACE_DETAIL_DATA pDetail;
			int nCount;
			BOOL bResult;
			HANDLE uu;
			uu=INVALID_HANDLE_VALUE;
			// 取得一個該GUID相關的設備信息集句柄
			hDevInfoSet = ::SetupDiGetClassDevs(lpGuid,     // class GUID 
				NULL,                    // 無關鍵字 
				NULL,                    // 不指定父窗口句柄 
				DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);    // 目前存在的設備
		  
			// 失敗...
			if (hDevInfoSet == INVALID_HANDLE_VALUE)
			{
				return 0;
			}
		  
			// 申請設備接口數據空間
			pDetail = (PSP_DEVICE_INTERFACE_DETAIL_DATA)::GlobalAlloc(LMEM_ZEROINIT, INTERFACE_DETAIL_SIZE);
		  
			pDetail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
		  
			nCount = 0;
			bResult = TRUE;
		  
			// 設備序號=0,1,2... 逐一測試設備接口,到失敗為止
			while (bResult)
			{
				ifdata.cbSize = sizeof(ifdata);
		  
				// 枚舉符合該GUID的設備接口
				bResult = ::SetupDiEnumDeviceInterfaces(
					hDevInfoSet,     // 設備信息集句柄
					NULL,            // 不需額外的設備描述
					lpGuid,          // GUID
					(ULONG)nCount,   // 設備信息集里的設備序號
					&ifdata);        // 設備接口信息
		  
				if (bResult)
				{
					// 取得該設備接口的細節(設備路徑)
					bResult = SetupDiGetInterfaceDeviceDetail(
						hDevInfoSet,    // 設備信息集句柄
						&ifdata,        // 設備接口信息
						pDetail,        // 設備接口細節(設備路徑)
						INTERFACE_DETAIL_SIZE,    // 輸出緩沖區大小
						NULL,           // 不需計算輸出緩沖區大小(直接用設定值)
						NULL);          // 不需額外的設備描述
		  
					if (bResult)
					{
						// 復制設備路徑到輸出緩沖區
						::strcpy(pszDevicePath[nCount], pDetail->DevicePath);
						
						// 調整計數值
						nCount++;
					}
		        
				}

			}
		  
			// 釋放設備接口數據空間
			::GlobalFree(pDetail);
			//::setupdigetdevicein
			// 關閉設備信息集句柄
			bResult=::SetupDiDestroyDeviceInfoList(hDevInfoSet);
			return nCount;
		}

	//extern "C" int APIENTRY sum2(int i)

	extern "C" int APIENTRY  WriteUsb(char SendBuff[],int count)
		{
			
			const GUID DiskClassGuid1= {0x77f49320,  0x16ef, 0x11d2,{0xad, 0x51, 0x00, 0x60, 0x97, 0xb5, 0x14, 0xdd}};
		//	char SendBuff[16];
	//		IO_BLOCK ioBlock;
			BOOL bResult;                 // results flag
			ULONG nBytes;
			int i;
			const MAX_DEVICE=2;
			char* szDevicePath[MAX_DEVICE];        // 設備路徑
			int nDevice;
			HANDLE hDevice;
			

			// 分配需要的空間
			for (i = 0; i < MAX_DEVICE; i++)
			{
				szDevicePath[i] = new char[256];
			}
		  
			// 取設備路徑
			nDevice = GetDevicePath((LPGUID)&DiskClassGuid1, szDevicePath);


			strcat (szDevicePath[0],"\\");
			strcat (szDevicePath[0],"PIPE01");

			hDevice = CreateFile (szDevicePath[0],
						GENERIC_READ | GENERIC_WRITE,
						FILE_SHARE_READ | FILE_SHARE_WRITE,
						NULL, // no SECURITY_ATTRIBUTES structure
						OPEN_EXISTING, // No special create flags
						0, // No special attributes
		  
						NULL); // No template file

			if (hDevice == INVALID_HANDLE_VALUE)
			{
				return 0;
			}
			//SendBuff[3]=val;
				bResult = WriteFile(hDevice,
					SendBuff,
					count,
					&nBytes,
					NULL);	
		  
			CloseHandle(hDevice);
			return (int)SendBuff[3];
		}

			//int  ReadUsb(int count)
	extern "C" BSTR  APIENTRY  ReadUsb(int count)
		{
			
			char *str="1234567890123456"; 
			LPSTR  readstr;	
			const GUID DiskClassGuid1= {0x77f49320,  0x16ef, 0x11d2,{0xad, 0x51, 0x00, 0x60, 0x97, 0xb5, 0x14, 0xdd}};
			char SendBuff[16];
	//		IO_BLOCK ioBlock;
			BOOL bResult;                 // results flag
			ULONG nBytes;
			int i;
			const MAX_DEVICE=2;
			char* szDevicePath[MAX_DEVICE];        // 設備路徑
			int nDevice;
			HANDLE hDevice;
			readstr="000";


			// 分配需要的空間
			for (i = 0; i < MAX_DEVICE; i++)
			{
				szDevicePath[i] = new char[256];
			}
		  
			// 取設備路徑
			nDevice = GetDevicePath((LPGUID)&DiskClassGuid1, szDevicePath);


			strcat (szDevicePath[0],"\\");
			strcat (szDevicePath[0],"PIPE00");

			hDevice = CreateFile (szDevicePath[0],
						GENERIC_READ | GENERIC_WRITE,
						FILE_SHARE_READ | FILE_SHARE_WRITE,
						NULL, // no SECURITY_ATTRIBUTES structure
						OPEN_EXISTING, // No special create flags
						0, // No special attributes
		  
						NULL); // No template file

			if (hDevice == INVALID_HANDLE_VALUE)
			{
				return SysAllocString((BSTR)str); 
			}

				bResult = ReadFile(hDevice,
					SendBuff,
					count,
					&nBytes,
					NULL);	

			CloseHandle(hDevice);
			readstr="1234";
			str=(char*)SendBuff;
			return SysAllocString((BSTR)str);
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线区一区二视频| 成人网在线免费视频| 亚洲嫩草精品久久| 国产精品视频yy9299一区| 2024国产精品| 欧美国产在线观看| 欧美国产精品一区二区三区| 国产欧美日韩久久| 国产精品国产三级国产专播品爱网 | 中文字幕不卡在线| 中日韩免费视频中文字幕| 国产精品久久免费看| 亚洲欧美色一区| 亚洲一区二区av在线| 亚洲成人www| 久久99精品久久久久久| 久久99精品国产.久久久久| 精品一区二区三区欧美| 成人a免费在线看| 91国产成人在线| 欧美一级爆毛片| 久久久不卡影院| 夜夜亚洲天天久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产一区二区免费看| 一本色道亚洲精品aⅴ| 欧美日韩一区二区在线观看| 精品少妇一区二区三区在线播放| 久久久精品国产99久久精品芒果| 综合激情成人伊人| 视频在线观看91| 丁香婷婷深情五月亚洲| 欧美最新大片在线看| 久久影院午夜论| 亚洲尤物视频在线| 国产高清不卡一区二区| 91成人在线观看喷潮| 26uuu国产电影一区二区| 亚洲三级在线免费观看| 狠狠色综合色综合网络| 在线免费亚洲电影| 久久―日本道色综合久久| 亚洲一区在线观看视频| 国产大陆精品国产| 欧美精品tushy高清| 国产精品毛片无遮挡高清| 日韩电影免费一区| 欧洲av在线精品| 欧美国产日本韩| 久久成人久久爱| 欧美日韩三级视频| 亚洲欧美日韩久久精品| 成人免费观看av| 欧美精品一区二区三区四区| 亚洲国产视频一区二区| 97久久超碰国产精品| 久久久久一区二区三区四区| 日本成人在线不卡视频| 欧洲一区在线电影| 亚洲精品一二三| aaa亚洲精品| 国产精品久久久久精k8 | 激情国产一区二区| 8v天堂国产在线一区二区| 亚洲精品国产视频| 91丝袜美女网| 国产精品久久久久久久久图文区| 国产不卡视频一区二区三区| 精品福利在线导航| 国产专区综合网| 久久久精品日韩欧美| 国产一区二区免费看| 久久综合九色综合97婷婷女人| 日本va欧美va精品发布| 91精品国产日韩91久久久久久| 亚洲小少妇裸体bbw| 欧美日韩国产综合草草| 亚洲国产视频一区二区| 欧美精品国产精品| 欧美a级一区二区| 精品美女在线观看| 国产乱对白刺激视频不卡| 国产亚洲婷婷免费| 99久久免费视频.com| 亚洲欧美一区二区三区久本道91| 91丨porny丨中文| 亚洲综合久久久久| 欧美一区二区三区免费视频 | 精品福利二区三区| 国内精品久久久久影院薰衣草 | 视频一区二区三区入口| 国产欧美日韩另类视频免费观看| 国产成人免费xxxxxxxx| 国产精品久久毛片av大全日韩| 色婷婷综合久久久中文一区二区| 玉米视频成人免费看| 91精品婷婷国产综合久久竹菊| 日韩**一区毛片| 国产婷婷色一区二区三区四区| 99精品国产91久久久久久 | 日韩免费一区二区三区在线播放| 久久精品久久综合| 国产精品久久久久四虎| 色综合久久久久综合99| 日韩高清在线电影| 国产欧美日韩亚州综合 | 一本大道av伊人久久综合| 亚洲h精品动漫在线观看| 精品国产免费视频| 色综合天天综合网天天狠天天| 天堂影院一区二区| 国产精品欧美综合在线| 69堂精品视频| a美女胸又www黄视频久久| 日韩精品91亚洲二区在线观看| 欧美激情自拍偷拍| 欧美日韩精品一区二区| 国产99久久久精品| 日韩电影在线一区| 亚洲美女免费在线| 久久亚洲精品小早川怜子| 欧美三级一区二区| 成人短视频下载| 麻豆久久久久久| 亚洲第一主播视频| 成人免费在线播放视频| 精品国产乱码91久久久久久网站| 色www精品视频在线观看| 国产精品一区二区在线观看网站 | 精品国产乱码久久久久久免费| 欧美一级片免费看| 色综合一个色综合| 国产精品亚洲成人| 久久国产生活片100| 亚洲一区二区三区中文字幕| 亚洲欧洲在线观看av| 国产亚洲欧美日韩俺去了| 日韩欧美美女一区二区三区| 欧美日韩一区 二区 三区 久久精品 | 一区二区在线看| 国产精品色哟哟| 国产网站一区二区| www国产精品av| 精品国产区一区| 91精品国产一区二区| 欧美美女黄视频| 7777女厕盗摄久久久| 欧美视频在线不卡| 欧美亚州韩日在线看免费版国语版| av在线播放一区二区三区| 国产盗摄视频一区二区三区| 国产老女人精品毛片久久| 国精产品一区一区三区mba视频| 人禽交欧美网站| 麻豆成人久久精品二区三区小说| 日产国产欧美视频一区精品| 青青草国产成人av片免费| 日本v片在线高清不卡在线观看| 日韩中文字幕区一区有砖一区 | 黄色成人免费在线| 国产毛片精品视频| 国产成人av电影在线| 欧美一区二区黄色| 欧美一区二区美女| 26uuu国产日韩综合| 国产欧美一区二区三区网站| 国产精品国产三级国产| 亚洲精品中文字幕乱码三区| 亚洲影院免费观看| 日本一道高清亚洲日美韩| 精品亚洲国内自在自线福利| 国产成人精品综合在线观看| 不卡一区二区在线| 欧美肥妇free| 国产清纯白嫩初高生在线观看91| 一区免费观看视频| 亚洲va国产天堂va久久en| 免费成人小视频| 高清不卡在线观看av| 欧美视频一区二| 久久夜色精品国产欧美乱极品| 中文字幕中文在线不卡住| 亚洲国产wwwccc36天堂| 黑人巨大精品欧美黑白配亚洲| 粉嫩绯色av一区二区在线观看| 91蜜桃免费观看视频| 欧美一卡二卡三卡| 国产欧美日韩精品一区| 亚洲午夜在线电影| 国产成人在线影院| 欧美日韩一区视频| 国产欧美精品国产国产专区| 亚洲自拍偷拍欧美| 国产成人在线视频网址| 国产精品理论在线观看| 午夜欧美电影在线观看| 国产精一区二区三区| 91精品国产免费| 亚洲人123区| 国产精品一区二区三区四区|