|
30精币
一个c++写的函数,编译成dll供易语言调用,下面这个函数不知道应该怎么调用了:
_Success_(return) BOOL VMMDLL_Map_GetEATU(_In_ VMM_HANDLE hVMM, _In_ DWORD dwPID, _In_ LPSTR uszModuleName, _Out_ PVMMDLL_MAP_EAT* ppEatMap);
前三个参数转换易语言之后是 整数型、整数型、文本型,主要是第四个参数不知道怎么传了
PVMMDLL_MAP_EAT的原型是:
typedef struct tdVMMDLL_MAP_EAT {
DWORD dwVersion; // VMMDLL_MAP_EAT_VERSION
DWORD dwOrdinalBase;
DWORD cNumberOfNames;
DWORD cNumberOfFunctions;
DWORD cNumberOfForwardedFunctions;
DWORD _Reserved1[3];
QWORD vaModuleBase;
QWORD vaAddressOfFunctions;
QWORD vaAddressOfNames;
PBYTE pbMultiText; // multi-str pointed into by VMM_MAP_EATENTRY.wszFunction
DWORD cbMultiText;
DWORD cMap; // # map entries.
VMMDLL_MAP_EATENTRY pMap[]; // map entries.
} VMMDLL_MAP_EAT, * PVMMDLL_MAP_EAT;
VMMDLL_MAP_EATENTRY 的原型是:
typedef struct tdVMMDLL_MAP_EATENTRY {
QWORD vaFunction;
DWORD dwOrdinal;
DWORD oFunctionsArray; // PIMAGE_EXPORT_DIRECTORY->AddressOfFunctions[oFunctionsArray]
DWORD oNamesArray; // PIMAGE_EXPORT_DIRECTORY->AddressOfNames[oNamesArray]
DWORD _FutureUse1;
union { LPSTR uszFunction; LPWSTR wszFunction; }; // U/W dependant
union { LPSTR uszForwardedFunction; LPWSTR wszForwardedFunction; }; // U/W dependant (function or ordinal name if exists).
} VMMDLL_MAP_EATENTRY, * PVMMDLL_MAP_EATENTRY;
求个大牛将VMMDLL_Map_GetEATU这个函数转换成易语言的dll命令
|
最佳答案
查看完整内容
自定义数据类型。5个整数 2个文本就行了
补充内容 (2024-5-7 14:17):
忘记第一个了自定义数据类型 第一个 9个 整数 一个字节传址 2个整数 一个 上面的自定义类型
补充内容 (2024-5-7 14:20):
第一个类型后面那个自定义数据类型 是数组
|