谁能帮我把这段C++的声明改为DELPHI(50分)

  • 主题发起人 主题发起人 nibul
  • 开始时间 开始时间
N

nibul

Unregistered / Unconfirmed
GUEST, unregistred user!
#define RVATOVA(base,offset) ((PVOID)((DWORD)(base)+(DWORD)(offset)))
#define ibaseDD *(PDWORD)&ibase
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
 
这些是VC的宏函数,Delphi不支持这样操作。所以Delphi只能改成像下面那样等价于VC的宏操作。
// #define RVATOVA(base,offset) ((PVOID)((DWORD)(base)+(DWORD)(offset)))
Function RvaToVa(var Base,offset):Pointer;
begin
Result := Pointer(DWORD(Base) + DWORD(offset));
end;
// #define ibaseDD *(PDWORD)&ibase
var i,ibase:Pointer;
begin
i := PDWORD(@ibase)^;
end;
// #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
const
STATUS_INFO_LENGTH_MISMATCH = NTSTATUS($COOOOOO4);
// #define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
Function NT_SUCCESS(var Status):BOOL;
begin
if NTSTATUS(Status) >= 0 then
Result := TRUE
else
Result := FALSE;
end;
 
接受答案了.
 
后退
顶部