我正在尝试获取成员函数的地址。基本上,我试图获取内存中加载的 Windows api 函数与我的函数之间的偏移量。
这是我试图获取的地址:
NTSTATUS (NTAPI myntquerydirectoryfile)(
HANDLE hFile,
HANDLE hEvent,
PVOID pApcRoutine,
PVOID pApcContext,
IO_STATUS_BLOCK* ioStatus,
PVOID pBuffer,
ULONG bufferSize,
FILE_INFORMATION_CLASS infoClass,
BOOLEAN singleEntry,
PUNICODE_STRING pFileName,
BOOLEAN restart
)
{
cout << "my func" << endl;
};
typedef NTSTATUS (*pmyhook)(HANDLE hFile,
HANDLE hEvent,
PVOID pApcRoutine,
PVOID pApcContext,
IO_STATUS_BLOCK* ioStatus,
PVOID pBuffer,
ULONG bufferSize,
FILE_INFORMATION_CLASS infoClass,
BOOLEAN singleEntry,
PUNICODE_STRING pFileName,
BOOLEAN restart);
pmyhook = &myntquerydirectoryfile;
最佳答案
这段代码展示了如何获取类成员函数的地址:
#include <stdio.h>
class A
{
public:
void test()
{
// Address of member function test(), is the value of &A::test
printf("Address of function is: 0x%X\n", &A::test);
}
};
int main()
{
A a;
a.test();
}
关于c++ - 如何获取类中成员函数的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848134/