Здравствуйте, roman313, Вы писали:
R>Работает ли NtSystemDebugControl в Win7 x64 ?
Нет. Возвращает STATUS_NOT_IMPLEMENTED.
Начиная с висты вроде бы.
typedef LONG (NTAPI *_NtSystemDebugControl )
( IN SYSDBG_COMMAND Command, IN PVOID InputBuffer OPTIONAL, IN ULONG InputBufferLength, OUT PVOID OutputBuffer OPTIONAL, IN ULONG OutputBufferLength, OUT PULONG ReturnLength OPTIONAL );
_NtSystemDebugControl NtSystemDebugControl = (_NtSystemDebugControl) ::GetProcAddress( ::GetModuleHandle("ntdll.dll"), "NtSystemDebugControl" );
if( NtSystemDebugControl )
{
char buf[0x1000];
SYSDBG_VIRTUAL DbgMemory;
DbgMemory.Address = (void*) 0x80000000;
DbgMemory.Buffer = buf;
DbgMemory.Request = 5;
LONG status = NtSystemDebugControl( SysDbgReadVirtual, &DbgMemory, sizeof(DbgMemory), NULL, 0, NULL );
_ASSERTE( status >= 0 );
}
}