Вызов функции из DLL, скомпилированной в C - PullRequest
0 голосов
/ 28 июля 2010

У меня есть следующая функция C

typedef struct ekeycore_ctx_ ekeycore_ctx;

typedef struct ekeycore_enum_ ekeycore_enum;

typedef struct ekeycore_device_ {
    char *serial;
    char *portname;
    char *node;
    BOOL present;
    BOOL used;
} ekeycore_device;

typedef struct ekeycore_simple_ ekeycore_simple;

typedef enum {
    EKEYCORE_OK = 0,              /* everything was fine */
    EKEYCORE_NOMEM = 1,           /* out of memory */
    EKEYCORE_NODEVICE = 2,        /* no devices are available */
    EKEYCORE_TIMEOUT = 3,         /* key did not respond to request */
    EKEYCORE_FAULTY = 4,          /* device has reported faulty/attacked */
    EKEYCORE_UNKNOWN = 5          /* unknown error */
} ekeycore_result;

EKEYCORE_API ekeycore_result ekeycore_simple_get(ekeycore_simple *ctx, unsigned char *buff, size_t buffz)

Мне нужно вызвать эту функцию (ekeycore_simple_get) из C #, как мне это сделать?Как преобразовать типы переменных выше?

1 Ответ

1 голос
/ 28 июля 2010

Вы, вероятно, просите немного о StackOverflow, чтобы кто-то поработал за вас, но есть хорошая информация о структурах сортировки в MSDN (см. Ссылку ниже)

Это места, которые я используюдля ссылки на методы P / invoke:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...