Revision: 43272
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 20, 2011 13:48 by liouys
Initial Code
#include <iostream> #include <windows.h> #include <assert.h> using namespace std; HANDLE g_hCom = INVALID_HANDLE_VALUE; const unsigned MAX_BUF_LEN = 32; const char* const g_pData = "hello"; DWORD WINAPI ThreadRead( LPVOID lpParameter ) { char szBuf[ MAX_BUF_LEN ] = { 0 }; DWORD dwRead; if( !ReadFile( g_hCom, szBuf, strlen( g_pData ), &dwRead, NULL ) ) { cout << "Read com failed." << endl; return 0; } if( dwRead != strlen( g_pData ) ) { cout << "Failed to get all the data." << endl; return 0; } cout << "Read: " << szBuf << endl; return 1; } int main() { g_hCom = CreateFile( "com1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL ); assert( g_hCom != INVALID_HANDLE_VALUE ); HANDLE hThread = CreateThread( NULL, 0, ThreadRead, NULL, 0, NULL ); assert( hThread ); Sleep( 100 ); DWORD dwWritten; if( !WriteFile( g_hCom, g_pData, strlen( g_pData ), &dwWritten, NULL ) ) { cout << "Write com failed." << endl; return 0; } if( dwWritten != strlen( g_pData ) ) { cout << "Failed to write all the data." << endl; return 0; } cout << "Write: " << g_pData << endl; return 1; }
Initial URL
Initial Description
Initial Title
windows下串å£é€šä¿¡åŒæ¥ä¸Žå¼‚æ¥æ–¹å¼
Initial Tags
windows
Initial Language
C