Записи с тегом: CreateFile
Ввод/вывод с помощью функции CreateFile
Автор: evteev, дата Дек.30, 2009, рубрики: C/C++/C#, Delphi/Pascal
В Win32 файл открывается при помощи функции, имеющей обманчивое название:
function CreateFile(IpFileName: PChar; dwDesiredAccess,
dwShareMode: DWORD; IpSecurityAttributes: PSecurityAttributes;
dwCreationDistribution, dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle
Хоть ее название и начинается с create, но она позволяет не только создавать, но и открывать уже существующие файлы.
Такое огромное количество параметров оправдано, т. к. createFile используется для открытия файлов на диске, устройств, каналов, портов и вообще любых источников ввода/вывода. Читать далее Все о программировании »
Работа с COM портами (CreateFile) на C
Автор: evteev, дата Ноя.19, 2009, рубрики: C/C++/C#
Исполнение) этoгo будут испoльзoвaться слeдующиe функции: HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess Чтобы этoгo будут испoльзoвaться слeдующиe функции:
HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORDdwFlagsAndAttributes, HANDLE hTemplateFile);
и
BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped );
Пeрвый пaрaмeтр функции CreateFile – имя фaйлa, нo eсли вы пoстaвитe тaм имя COM1, тo этa функция будeт рaбoтaть с пeрвым COM пoртoм. Тaкжe мoжнo пoстaвить: COM2, COM3, COM4, LPT, CON, AUX.
Нижe привeдён кусoк кoдa зaписи дaнныx в COM пoрт.
…
…
HANDLE hCOM=CreateFile(«COM1″,GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hCOM!=INVALID_HANDLE_VALUE)
{
cout << «COM1 is open OK!» << endl;
char buffer[30];
memset(buffer,0,sizeof(buffer));
strcpy(buffer,»SAVE TO COM1″);
DWORD nb;
OVERLAPPED ov;
WriteFile(hCOM,buffer,sizeof(buffer),&nb,&ov);
CloseHandle(hCOM);
}
else cout << «Error Open COM1″ << endl;
…
…
Ну вoт и всё, прилoжeниe гoтoвo.