powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как описать функцию из библиотеки С++
3 сообщений из 3, страница 1 из 1
Как описать функцию из библиотеки С++
    #39806023
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такое описание метода:

Код: java
1.
int DECL cr_init(int tm_flag,  const char *gk,  const char *uz, const char *psw, void *tm_number, int *tmn_blen, int *init_mode, H_INIT *init_handle ); 



Я объявил так:
Код: c#
1.
2.
3.
        [DllImport("bicr5.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "cr_init")]
        public static extern int cr_init([In] int tm_flag, [In] IntPtr gk, [In] IntPtr uz, [In] IntPtr psw,
			[Out] IntPtr tm_number, [In] ref int tmn_blen, [Out] byte init_mode, [Out] IntPtr init_handle);



Все правильно, или что-то не так?

При вызове метод возвращает код ошибки, что параметры входные неверны.
...
Рейтинг: 0 / 0
Как описать функцию из библиотеки С++
    #39806024
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще описание параметров:

Параметры: tm_flag in 0 – если не требуется использовать специализированные носители ключевой информации 1 - если в дальнейшем предполагается работа с ТМ-идентификатором 2 – если предполагается работа с токеном VPN-Key gk, uz in путь к файлам с главным ключом и узлом замены; если носителем главного ключа и узла замены является TM/VPN-Key, данные параметры должны принимать значение NULL. Если для работы использование главного ключа и узла замены не требуется, то данный параметр можно установить в "\0" или в "". В версии без шифрования (SIGN_ONLY) этот параметр не требуется. psw in пароль, на котором зашифрован главный ключ при хранении; если главный ключ хранится в открытом виде - данный параметр должен принимать значение "\0". В версии без шифрования (SIGN_ONLY) этот параметр не требуется. tm_number out указатель на буфер, в который возвращается номер TM/VPN-Key. Если носителем ключевой информации является файл (дискета), данный параметр игнорируется В версии без шифрования (SIGN_ONLY) этот параметр не требуется.
11


tmn_blen in/out на входе содержит максимальную длину буфера tm_number, на выходе – реальную возвращенную длину буфера tm_number, если носителем ключевой информации является файл (дискета), данный параметр игнорируется. В версии без шифрования (SIGN_ONLY) этот параметр не требуется. init_mode out возвращаемое значение, которое указывает на наличие драйверов, используемых в процессе работы библиотеки, и результат ввода главного ключа

init_mode = cGKUZ | cDSCH | cTMDRV | cVPNKEY Значения соответствующих флажков в битовом представлении таковы: cGKUZ 00000001 главный ключ корректно введен cDSCH 00000010 ДСЧ обнаружен cTMDRV 00000100 драйвер работы с ТМ обнаружен cVPNKEY 00010000 Токен VPN-Key обнаружен

init_handle out возвращаемый дескриптор H_INIT, используемый другими функциями библиотеки, характеризующий контекст библиотеки. В случае неустранимой ошибки устанавливается в NULL. В случае простой ошибки возвращается ненулевое значение и с библиотекой можно работать.
...
Рейтинг: 0 / 0
Как описать функцию из библиотеки С++
    #39806515
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavluhaили что-то не так?
ага

из общих соображений скорее так
Код: c#
1.
2.
3.
 [DllImport("bicr5.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "cr_init")]
        public static extern int cr_init([In] int tm_flag, [In] string gk, [In] string uz, [In] string psw,
            ref IntPtr tm_number,  ref int tmn_blen, out int  init_mode, out IntPtr init_handle);



для точного диагноза нужен заголовочный файл
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как описать функцию из библиотеки С++
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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