powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка функции CopyMemory - что делать?
7 сообщений из 7, страница 1 из 1
Ошибка функции CopyMemory - что делать?
    #32860443
Павел Ф.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть в следующем:
Мне необходимо определить дату создания BIOS материнской платы
Раньше я все это делал так:

Type BIOS_DATE
s As String * 8
End Type

Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" _
(pDest As Any, pSource As Any, ByVal ByteLen As Long)

Public Function BIOS() As Long
Dim sDB As BIOS_DATE

CopyMemory sDB, ByVal &HFFFF5, 8&
BIOS = DateSerial(Mid(sDB.s, 7, 2), Mid(sDB.s, 1, 2), Mid(sDB.s, 4, 2))
End Function

Все это прекрасно работало под Windows Melenium, но после того, как я перешел на Windows 2000 все накрылось!
Теперь у меня возникает ошибка :
Инсрукция по адресу "ХХХХХХХХХХХ" обратилась к памяти по адресу "ХХХХХХХХХХ". Память неможет быть "read".

Ошибку вызывает функция CopyMemory.
Причем, если убрать ByVal перед вторым аргументом или добавить перед первым, ошибка пропадает, но функция возвращает непонятный набор символов.
В чем может быть причина? Что делать? Помогите!!!
Может быть есть другой способ определения даты создания BIOS материнской платы?
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32860479
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожет быть есть другой способ определения даты создания BIOS материнской платы?через WMI для класса Win32_BIOS
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32860497
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 movememory попробуй
2 или tlb с описанием апи-функции и её параметров сделай и подключи к бейсиковому проекту (деклар, ессно не нужен будет) - таким образом удалось заставить устойчиво работать бейсиковый NTservice
3 а ещё лучше dll-ку на C или делфи напиши и все подобные понты в ней реализуй, все таки бейсик с некоторыми апишками криво работает (см. свой случай)
------------------
Best regards, _bob
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32862531
Павел Ф.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно поподробнее?
А то я что-то не очень знаком с WMI и tlb.
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32862629
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Ф.А можно поподробнее?
А то я что-то не очень знаком с WMI и tlb.


на языке ODL (Object Description Language) пишется описание интерфейса, затем компилируется, получается библиотека типов (.tlb) теперь ODL чуть видоизменили и назвали MIDL, поищи в инете, там тьма статей по этому поводу

для примера поищи файлы .odl или .idl, фактически это исходники для .tlb

про WMI пусть кузя объясняет :-)
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32862708
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Property Get SystemBiosDate() As String
    If isNT Then
       SystemBiosDate = GetRegistryValue(HKLM, "Hardware\Description\System", "SystemBiosDate", "")
    Else
       SystemBiosDate = StrFromPtrA(&HFFFF5)
    End If
End Property
...
Рейтинг: 0 / 0
Ошибка функции CopyMemory - что делать?
    #32863298
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Command1_Click()
Dim BiosSet, Bios, rd, vs

  Set BiosSet = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_BIOS")
  For Each Bios In BiosSet
    rd = Bios.ReleaseDate
    vs = Bios.Version
    ...
  Next
  Set BiosSet = Nothing
End Sub
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка функции CopyMemory - что делать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]