Вызов функции из dll, параметры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
bananas
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 29.04.2006 (Сб) 16:14

Вызов функции из dll, параметры

Сообщение bananas » 29.04.2006 (Сб) 16:31

ElByECC.DLL - библиотека для кодирования методом рида-соломона, входит в состав clonecd

больше информации здесь - http://www.insidepro.com/kk/027/027r.shtml

вызывать функции кодирования/декодирования

непонятно как импортировать такую функцию

int (__cdecl *CheckECCAndEDC_Mode1) (char *userdata, char *header, char *sector);

userdata_src - указатель на 2048-байтовый блок пользовательских данных, для которых необходимо выполнить расчет корректирующих кодов. Сами пользовательские данные в процессе выполнения функции остаются неизменными и автоматически копируются в буфер целевого сектора, где к ним добавляется 104 + 172 байт четности и 4 байта контрольной суммы.

header_src - указатель на 4-байтовый блок, содержащий заголовок сектора. Первые три байта занимает абсолютный адрес, записанный в BCD-форме, а четвертый байт отвечает за тип сектора, которому необходимо присвоить значение 1, соответствующий режиму "корректирующие коды задействованы".

raw_sector_mode1_dst - указатель на 2352-байтовый блок, в который будет записан сгенерированный сектор, содержащий 2048-байт пользовательских данных и 104+172 байт корректирующих кодов вместе 4 байтами контрольной суммы и представленный следующей структурой:

struct RAW_SECTOR_MODE1
{
BYTE SYNC[12]; // синхрогруппа
BYTE ADDR[3]; // абс. адрес сектора
BYTE MODE; // тип сектора
BYTE USER_DATA[2048]; // пользовательские данные
BYTE EDC[4]; // контрольная сумма
BYTE ZERO[8]; // нули (не используется)
BYTE P[172]; // P-байты четности
BYTE Q[104]; // Q-байты четности
};


что я только не делал - bad dll calling convention/

нужна помощь(

Вернуться в Visual Basic 1–6

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

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

    TopList  
cron