использование WinAPI(kernel32.dll) для работы с файлами,pipe
Добавлено: 23 мар 2012, 07:47
Проблема с использованием инструментария Windows API для работы с файлами.
Изначально стояла задача использовать механизм PIPE (Именованный канал, труба - по сути файл с путем \\.\pipe\<имя_канала>) для быстрого межзадачного обмена в LabView,
так как стандартные кубики LabView по работе с файлами не умеют работать с путями типа "\\.\pipe\<имя_канала>" было решено использовать WinAPI, а точнее библиотеку kernel32.dll, для работы с такими файлами (вообще с именованными каналами работают простые функции типа CreateFile, WriteFile, ReadFile, CloseHandle а так же спец.функции типа CreateNamedPipe и т.д.).
Но работа встала на этапе попыток использования WinAPI для ПРОСТЫХ файлов (d:\123.txt), файл создается (createfile), но в него ничего не могу записать(writefile)/считать(readfile) - ошибка 1097 использования dll.
Описание использования CreateFile:
MSDN_createfile
Описание CreateFile на русском
MSDN_writefile
Описание WriteFile на русском
подробные настройки входов/выходов dll смотрите в probe2.vi
думаю, что ошибка в настройке входов у writefile - lpbuffer, по описанию функции имеет тип LPCVOID (Указатель на буфер, содержащий данные, которые будут записаны в файл.)
я настроил как array, u8, 1, array data pointer также перепробовал всевозможные варианты настройки этого и других параметров.
Основной вопрос в использовании функции WriteFile библиотеки kernel32.dll инструментария Windows API, кто пользовался, кто сталкивался?
Изначально стояла задача использовать механизм PIPE (Именованный канал, труба - по сути файл с путем \\.\pipe\<имя_канала>) для быстрого межзадачного обмена в LabView,
так как стандартные кубики LabView по работе с файлами не умеют работать с путями типа "\\.\pipe\<имя_канала>" было решено использовать WinAPI, а точнее библиотеку kernel32.dll, для работы с такими файлами (вообще с именованными каналами работают простые функции типа CreateFile, WriteFile, ReadFile, CloseHandle а так же спец.функции типа CreateNamedPipe и т.д.).
Но работа встала на этапе попыток использования WinAPI для ПРОСТЫХ файлов (d:\123.txt), файл создается (createfile), но в него ничего не могу записать(writefile)/считать(readfile) - ошибка 1097 использования dll.
Описание использования CreateFile:
MSDN_createfile
Описание CreateFile на русском
MSDN_writefile
Описание WriteFile на русском
подробные настройки входов/выходов dll смотрите в probe2.vi
думаю, что ошибка в настройке входов у writefile - lpbuffer, по описанию функции имеет тип LPCVOID (Указатель на буфер, содержащий данные, которые будут записаны в файл.)
я настроил как array, u8, 1, array data pointer также перепробовал всевозможные варианты настройки этого и других параметров.
Основной вопрос в использовании функции WriteFile библиотеки kernel32.dll инструментария Windows API, кто пользовался, кто сталкивался?