有几段代码看不懂,高手愿意解答一下吗?

HWFDVD 2005-04-13 10:45:45
1, 以下请逐句解析
#define NT_SUCCESS(status) ((NTSTATUS)(status)>=0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)

typedef LONG NTSTATUS

typedef ULONG (WINAPI *ZWQUERYSYSTEMINFORMATION)(ULONG, PVOID, ULONG, PULONG);

ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation = NULL;

2 这里ACCESS_MASK是什么类型?
typedef struct _SYSTEM_HANDLE_INFORMATION
{
ULONG ProcessId;
UCHAR ObjectTypeNumber;
UCHAR Flags;
USHORT Handle;
PVOID Object;
ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kobefly 2005-04-14
  • 打赏
  • 举报
回复
typedef struct _SYSTEM_HANDLE_INFORMATION
{
ULONG ProcessId;
UCHAR ObjectTypeNumber;
UCHAR Flags;
USHORT Handle;
PVOID Object;
ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION

typedef DWORD ACCESS_MASK;
所以ACCESS_MASK应该是双字类型,也就是32-bit unsigned integer.
dongpy 2005-04-14
  • 打赏
  • 举报
回复
VC里是这样定义的:

typedef DWORD ACCESS_MASK;

typedef unsigned long DWORD; //无符号整数
heroboy2000 2005-04-13
  • 打赏
  • 举报
回复
#define NT_SUCCESS(status) ((NTSTATUS)(status)>=0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)

typedef LONG NTSTATUS //定义NTSTATUS为LONG类型

typedef ULONG (WINAPI *ZWQUERYSYSTEMINFORMATION)(ULONG, PVOID, ULONG, PULONG);//定义函数指针类型

ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation = NULL;//声明一个函数指针,并初始化为NULL

ACCESS_MASK是什么类型,屈居于它的定义。
xjp6688 2005-04-13
  • 打赏
  • 举报
回复
ACCESS_MASK 应该是 DWORD 类型的

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧