Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов функции API ReadFile через C#, Вызов функции API ReadFile через C# 
:(
    Опции темы
is2000
Дата 21.8.2015, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.8.2015

Репутация: нет
Всего: нет




импортирую
        [DllImport( "kernel32", SetLastError = true )]
        static extern unsafe bool ReadFile( IntPtr hFile,
           void* lpBuffer, uint nBytesToRead,
           uint* nBytesRead, OVERLAPPED* overlapped );

            byte[] buffer = new byte[16];
            uint[] nNumberOfBytesWritten = new uint[1];

            fixed (byte* pBuffer = buffer)
            {
                fixed (OVERLAPPED* pOverlappedWrite = &overlappedWrite )
                {
                    fixed (uint* pNumberOfBytesWritten = nNumberOfBytesWritten)
                    {
                        WriteFile( hUsbPipeWrite, pBuffer, nNumberOfBytesToWrite, &(pNumberOfBytesWritten[0]), pOverlappedWrite );
                    }
                }
            }

В буфер успешно читаются байты, а количество прочитанных байтов (nNumberOfBytesWritten) всегда 0.
Пробовал по-разному...
Не пойму где тут косяк?
PM MAIL   Вверх
aleyah
Дата 7.9.2015, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 15.9.2006

Репутация: нет
Всего: нет



Как вариант можно через чтение-запись текстовых файлов.
Символы у меня читываются так

StreamReader^ SRCInFile    = gcnew StreamReader (OutFileName, 
        Encoding::GetEncoding ("iso-8859-5"));    //Входной файл
    StreamWriter^ SRCOutFile  = gcnew StreamWriter ("W:\\T2_Folders\\grv\\Temp.src" , false, 
        Encoding::GetEncoding ("iso-8859-5") );

    int input;

while ((input = SRCInFile->Read())!=-1)    
        if (input!=13)
            SRCOutFile->Write (input);    


Посмотрите классы StreamReader и StreamWriter. Может какой-то метод или аналогичный класс
PM MAIL   Вверх
mihryak
Дата 11.9.2015, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



что-то не пойму, вопрос про Read, а код про Write.
вообще, большинство интеропных вопросов решается с помощью сайта pinkove.net - там и правильные сигнатуры, и примеры есть.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.