实验2.3实现应用程序和流接口驱动的通信.doc

实验2.3实现应用程序和流接口驱动的通信.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2.3实现应用程序和流接口驱动的通信

实验 实现应用程序和流接口驱动的通信”中选择“Smart Device”,在“Templates”中选择“MFC Smart Device Application”,在”Name”中输入工程名称:DriverTest.再点击“OK”。 三、选择正确的SDK:XSBase270. 四、在应用程序类型中,选择“Dialog based”,其他采用默认。 五、在”Generated classes”中选择“CDriverTestDlg”。再点击“Finish”。 六、在”Visual Studio”中选择“Resource View”,打开“Dialog”,双击“IDD_DRIVERTEST_DIALOG“,删除掉“DriverTest”窗口中的“TODO:Place dialog control here”。 七、在“DriverTest”窗口中五个“Button”控件。 八、在按钮控件中右击,打属性窗口。 九、把各个按钮控件的名称改为如下图所示。 十、右击“Open”控件,选择“Add Event Handler…”添加事件句柄。 十一、在”Message type”中选择“BN_CLICKED”,在“Clash lish”中选择“CDriverTestDlg”. 在“Function handle name”把名称修改为“OnBnClickedOpen”.再点击“Add and Edit”。 十二、在控件关联的函数中就可以来实现控件的现实功能。 十三、按相同的步骤添加其他四个控件的事件句柄。 十四、把下列的函数实现复制到工程中相应的函数中。 void CDriverAppDlg::OnBnClickedOpen() { // Open the stings driver //-------------- hStr = CreateFile ( TEXT ( STR1: ), GENERIC_READ | GENERIC_WRITE, 0 , NULL, OPEN_EXISTING, 0 ,0 ); if ( INVALID_HANDLE_VALUE == hStr ) ::MessageBox( NULL, _T(Cannot open STR1:), _T( StringApp ), MB_OK); else ::MessageBox( NULL, _T(Open STR1:Succeed), _T( StringApp ), MB_OK); } void CDriverAppDlg::OnBnClickedIOControl() { ::DeviceIoControl (hStr, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } void CDriverAppDlg::OnBnClickedRead() { // Read a string from the driver //-------------- WCHAR wch[BUFFER_SIZE]; DWORD dwBytesRead = BUFFER_SIZE; memset(wch, \0, BUFFER_SIZE*sizeof ( WCHAR ) ); ::ReadFile(hStr, wch, sizeof ( wch ), dwBytesRead, NULL); ::MessageBox( NULL, wch, TEXT( StringApp ), MB_OK); } void CDriverAppDlg::OnBnClickedWrite() { // Write a string to the driver //-------------- DWORD dwWritten = 0; WCHAR* pString = TEXT ( This is a test of the String Driver ); ::WriteFile (hStr, pString, (_tcslen (pString) + 1), dwWritten, NULL); } void CDriverAppDlg::OnBnClickedClose() { // Disconnect from the driver //------------------ if ( hStr != NULL ) { CloseHandle ( hStr ); hStr = NULL; } } 十五、在”DriverTestDlg.cpp”文件的开头添加“HANDLE hStr = NULL;”。 十六、在“DriverTestDlg.h”文件中添加“con

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档