如何获取结构体成员的地址

How can I get the address of struct member

本文关键字:结构体 成员 地址 获取 何获取      更新时间:2023-10-16

这是_SYSTEM_PROCESS_INFORMATION的声明

typedef struct _SYSTEM_PROCESS_INFORMATION {
ULONG NextEntryOffset;
BYTE Reserved1[52];
PVOID Reserved2[3];
HANDLE UniqueProcessId;
PVOID Reserved3;
ULONG HandleCount;
BYTE Reserved4[4];
PVOID Reserved5[11];
SIZE_T PeakPagefileUsage;
SIZE_T PrivatePageCount;
LARGE_INTEGER Reserved6[6];
} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;

现在我有一个_SYSTEM_PROCESS_INFORMATION对象。

我想获取指向其UniqueProcessId成员的指针。我该怎么做?

我尝试使用*(lpAddr->NextEntryOffset),但它告诉我我不能将 * 应用于无符号长

你弄错了 &for *

使用 *(lpAddr->NextEntryOffset( 告诉我我无法将 * 应用于无符号长

您应该使用&(lpAddr->NextEntryOffset)因为符号&是获取左值的地址。

符号*正好相反。它应用于地址以获取该地址的值。