ReadFile выдает ошибку InvalidCastException

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

ReadFile выдает ошибку InvalidCastException

Сообщение LevelUP » 19.05.2011 (Чт) 6:20

Просьба сильно не пинать, с VB.net раньше не приходилось работать.
Появилась задача слушать COM-port на кпк. Для начала чтобы понять как работают нужные winApi CreateFile и ReadFile, решил просто читать файл на компе. Но ReadFile выдает ошибку. Буду признателен за помощь.

Код: Выделить всё
Dim hh
Dim Success
Dim nbytes As Integer
Dim Buffer() As Byte

hh = CreateFile("C:\1.txt", GENERIC_READ, 0, Nothing, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
Success = ReadFile(hh, Buffer, 4096, nbytes, Nothing)


Объявления в модуле
Код: Выделить всё
Public Const GENERIC_READ = &H80000000
    Public Const OPEN_EXISTING = 3
    Public Const FILE_ATTRIBUTE_NORMAL = &H80

Public Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, _
                     ByVal dwShareMode As Integer, <MarshalAs(UnmanagedType.Struct)> ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, _
                     ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, _
                     ByVal hTemplateFile As Integer) As Integer

Public Declare Auto Function ReadFile Lib "kernel32.dll" (ByVal hFile As IntPtr, _
ByVal lpBuffer As Byte(), ByVal nNumberOfBytesToRead As Int32, _
ByRef lpNumberOfBytesRead As Int32, ByVal lpOverlapped As IntPtr) As Boolean

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Re: ReadFile выдает ошибку InvalidCastException

Сообщение LevelUP » 19.05.2011 (Чт) 8:40

Спасибо за внимание. Разобрался. Надо было явно объявить переменную hh


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35

    TopList