這裏是我的功能:NtQuerySystemInformation返回24(ERROR_BAD_LENGTH)
PVOID QuerySystemInformation(SYSTEMINFOCLASS SystemEnum) {
DWORD MemorySize = NULL;
NTSTATUS Status = NtQuerySystemInformation(SystemEnum, NULL, 0, &MemorySize);
if (NT_SUCCESS(Status)) {
PVOID Memory = PVOID(Allocate(MemorySize));
if (Memory != ERROR) {
Status = NtQuerySystemInformation(SystemEnum, Memory, MemorySize, &MemorySize);
if (NT_SUCCESS(Status)) {
return Memory;
}
Free(Memory);
}
}
return ERROR;
}
我通過SystemBasicInformation
的功能。在第一次撥打NtQuerySystemInformation
後,我收到一個錯誤消息。 RtlNtStatusToDosError(Status)
的結果是24 (ERROR_BAD_LENGTH)
。哪裏有問題?
請不要破壞你自己的帖子。 – EJoshuaS
更糟糕的是,你似乎得到了多個有用的答案。 – EJoshuaS