blob: c96135316bf324fb97e5cae80641f58c2d1651d2 [file] [edit]
/****************************************************************************
****************************************************************************
***
*** This header was created to make information necessary for userspace
*** to call into the Windows kernel available to Dr. Memory. It contains
*** only constants, structures, and macros, and thus, contains no
*** copyrightable information.
***
****************************************************************************
****************************************************************************/
NTSTATUS NTAPI
NtWow64CallFunction64(
__in ULONG FunctionIndex,
__in ULONG Flags,
__in ULONG InputLength,
__in_bcount(InputLength) PVOID InputBuffer,
__in ULONG OutputLength,
__out_bcount(OutputLength) PVOID OutputBuffer,
__out_opt PULONG ReturnStatus
);
PVOID NTAPI
NtWow64CsrAllocateCaptureBuffer(
__in ULONG Count,
__in ULONG Size
);
ULONG NTAPI
NtWow64CsrAllocateMessagePointer(
__inout PVOID CaptureBuffer,
__in ULONG Length,
__out PVOID *CapturedBuffer
);
VOID NTAPI
NtWow64CsrCaptureMessageBuffer(
__inout PVOID CaptureBuffer,
__in_opt PVOID Buffer,
__in ULONG Length,
__out PVOID *CapturedBuffer
);
VOID NTAPI
NtWow64CsrCaptureMessageString(
__inout PVOID CaptureBuffer,
__in_opt PCSTR String,
__in ULONG Length,
__in ULONG MaximumLength,
__out PSTRING CapturedString
);
NTSTATUS NTAPI
NtWow64CsrClientCallServer(
__inout PVOID ApiMessage,
__inout_opt PVOID CaptureBuffer,
__in ULONG ApiNumber,
__in ULONG ArgLength
);
NTSTATUS NTAPI
NtWow64CsrClientConnectToServer(
__in PWSTR ObjectDirectory,
__in ULONG ServerDllIndex,
__in_opt PCSR_CALLBACK_INFO CallbackInformation,
__in PVOID ConnectionInformation,
__inout_opt PULONG ConnectionInformationLength,
__out_opt PBOOLEAN CalledFromServer
);
NTSTATUS NTAPI
NtWow64CsrFreeCaptureBuffer(
__in PVOID CaptureBuffer
);
DWORD NTAPI
NtWow64CsrGetProcessId(
VOID
);
NTSTATUS NTAPI
NtWow64CsrIdentifyAlertableThread(
VOID
);
NTSTATUS NTAPI
NtWow64CsrNewThread(
VOID
);
NTSTATUS NTAPI
NtWow64CsrSetPriorityClass(
__in HANDLE ProcessHandle,
__inout PULONG PriorityClass
);
NTSTATUS NTAPI
NtWow64CsrVerifyRegion(
__in PVOID Buffer,
__in ULONG Length
);
NTSTATUS NTAPI
NtWow64DebuggerCall(
__in ULONG ServiceClass,
__in ULONG Arg1,
__in ULONG Arg2,
__in ULONG Arg3,
__in ULONG Arg4
);
NTSTATUS NTAPI
NtWow64GetCurrentProcessorNumberEx(
__out PPROCESSOR_NUMBER ProcNumber
);
NTSTATUS NTAPI
NtWow64GetNativeSystemInformation(
__in SYSTEM_INFORMATION_CLASS SystemInformationClass,
__out PVOID SystemInformation,
__in ULONG SystemInformationLength,
__out_opt PULONG ReturnLength
);
NTSTATUS NTAPI
NtWow64InterlockedPopEntrySList(
__inout PSLIST_HEADER ListHead
);
NTSTATUS NTAPI
NtWow64QueryInformationProcess64(
__in HANDLE ProcessHandle,
__in PROCESSINFOCLASS ProcessInformationClass,
__out_bcount(ProcessInformationLength) PVOID ProcessInformation64,
__in ULONG ProcessInformationLength,
__out_opt PULONG ReturnLength
);
/* PVOID64 and ULONGLONG take 2 params each */
NTSTATUS NTAPI
NtWow64ReadVirtualMemory64(
__in HANDLE ProcessHandle,
__in_opt PVOID64 BaseAddress,
__out_bcount(BufferSize) PVOID Buffer,
__in ULONGULONG BufferSize,
__out_opt PULONGLONG NumberOfBytesRead
);
NTSTATUS NTAPI
NtWow64WriteVirtualMemory64(
__in HANDLE ProcessHandle,
__in_opt PVOID64 BaseAddress,
__in_bcount(BufferSize) PVOID Buffer,
__in ULONGLONG BufferSize,
__out_opt PULONGLONG NumberOfBytesWritten
);