Je suis tenu, pour une tâche donnée, d’énumérer tous les descripteurs du système. La meilleure approche que j’ai trouvée jusqu’à présent consiste à utiliser l’information NtQuerySystemInformation documentée NtQuerySystemInformation avec l’indicateur SystemHandleInformation pour le paramètre de classe. Jusqu’ici tout va bien. Cependant, en l’exécutant en mode 32 bits sous Windows 64 bits, la structure requirejse est […]
Je n’ai pas encore trouvé de bonne référence sur ce sujet. Pour cet exemple, prenons du code C ++ que je tente de transférer en C #. En C ++, nous avons le prototype suivant pour une fonction de bibliothèque externe: extern “C” DWORD EXPORT FILES_GetMemoryMapping( PSTR pPathFile, PWORD Size, PSTR MapName, PWORD PacketSize, PMAPPING […]
Les gars, j’ai du mal à récupérer les valeurs des membres de la structure après avoir appelé une fonction dans la DLL. J’ai essayé de convertir les codes C ++ en C # mais je ne suis pas sûr que ce soit correct ou non. S’il vous plaît, aidez-moi à comprendre mes erreurs ici (s’il […]
J’essaie de Marshall c rappels qui sont dans une structure. Je suis à peu près sûr que tout est correct, mais lorsque j’utilise mon exemple C #, je ne reçois pas d’événements, mais lorsque j’utilise c ++, je les reçois Voici le C # class Program { [DllImport(“Some.dll”, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public […]
J’essaie de renseigner un tableau de structures à partir de C ++ et de renvoyer le résultat en C #. Je pensais que peut-être créer une structure avec un tableau de structures pourrait être la voie à suivre car la plupart des exemples que j’ai rencontrés utilisent des structures (mais en passant des types de […]
Du programme ac #, je souhaite utiliser WM_COPYDATA avec SendMessage pour communiquer avec une application MFC héritée c ++ / cli. Je veux passer une structure gérée contenant des objects chaîne. Je peux trouver le descripteur de l’application c ++ à utiliser avec SendMessage fine. Ce que je ne connais pas, c’est comment la structure […]
J’interface avec le code qui prend un caractère char** (c’est-à-dire un pointeur sur une chaîne): int DoSomething(Whatever* handle, char** error); Fondamentalement, il prend une poignée à son état, et si quelque chose ne va pas, il renvoie un code d’erreur et éventuellement un message d’erreur (la mémoire est allouée en externe et libérée avec une […]
J’ai la structure suivante en C # unsafe public struct control { public int bSetComPort; public int iComPortIndex; public int iBaudRate; public int iManufactoryID; public byte btAddressOfCamera; public int iCameraParam; public byte PresetNum; public byte PresetWaitTime; public byte Group; public byte AutoCruiseStatus; public byte Channel; public fixed byte Data[64]; } Et la fonction que j’utilise […]
J’ai un rappel COM d’une DLL non gérée que je dois utiliser en C #. La DLL non gérée s’attend à ce que l’appelé alloue de la mémoire à l’aide de LocalAlloc (que l’appelant LocalFree ), le WSTR avec WSTR et définisse la value et les chars avec le pointeur WSTR et la longueur de […]
J’ai une dll démodée C ++ que j’ai écrite et testée. Le code non lié fonctionne correctement lorsqu’il est créé et exécuté dans une application console non modifiée. La déclaration de fonction est indiquée ci-dessous. #ifndef IMPORT_MYLIB # define MYLIB_API __declspec(dllexport) #else # define MYLIB_API __declspec(dllimport) #endif namespace gsod_data_parsing { extern “C” { MYLIB_API int […]