Je voudrais écrire un remplacement très simple pour w3btrv7.dll afin que je puisse passer des appels API Btrieve à une autre bibliothèque (écrit en .NET et appelé via COM). Fondamentalement, je dois imiter la signature de la fonction BTRCALL en C. Cependant, je ne suis pas un programmeur C ... du tout. Je pense que j'ai une assez bonne idée de comment écrire une DLL qui exporte des fonctions, mais au-delà, je suis perdu.Écriture d'un remplacement pour une DLL C?
La signature de base ressemble à ceci:
int BTRCALL(Operation Code, Position Block, Data Buffer, Data Buffer Length,
Key Buffer, Key Buffer Length, Key Number)
Opération Code - entier
Position Bloc - tableau de 128 octets
tampon de données - Je ne peux pas trouver Beaucoup de détails à ce sujet, mais je suppose que c'est un tableau d'octets dont la longueur est spécifiée par le paramètre Data Buffer Length.
Longueur du tampon de données - Encore une fois, pas beaucoup d'informations, mais je suppose que c'est un entier qui spécifie la longueur du tableau d'octets précédent.
Key tampon - Un tableau d'octets avec une taille maximale de 255 octets
tampon Key Longueur - La longueur du tableau d'octets précédente
Key Number - nombre entier de 2 octets
Quelqu'un peut-il suggérer une fonction en C qui correspond à cette signature?
Si vous voulez éviter d'inclure types.h, vous pouvez utiliser le type short (ou unsigned short) au lieu de int16_t. – cedrou
@cedrou Un court-circuit est garanti être * au moins * 2 octets, et aussi pas plus grand que int, mais il n'est pas garanti d'être * exactement * deux octets. –
Parfait! Merci! –