diff options
author | Robert Pösel <robyer@seznam.cz> | 2012-11-05 21:11:48 +0000 |
---|---|---|
committer | Robert Pösel <robyer@seznam.cz> | 2012-11-05 21:11:48 +0000 |
commit | 048aaf0c4e77402adf584e3318e5aae6f1cdd749 (patch) | |
tree | def343da80e282ae43164e45e672a1386db66546 /protocols/Xfire/src/tools.h | |
parent | 35a9af527f9b7ec35e81455784cd0a795be910c5 (diff) |
XFire adoption (crashes on login, no 64bit)
git-svn-id: http://svn.miranda-ng.org/main/trunk@2212 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Xfire/src/tools.h')
-rw-r--r-- | protocols/Xfire/src/tools.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/protocols/Xfire/src/tools.h b/protocols/Xfire/src/tools.h new file mode 100644 index 0000000000..ca0b906179 --- /dev/null +++ b/protocols/Xfire/src/tools.h @@ -0,0 +1,99 @@ +
+#ifndef _TOOLS_H
+#define _TOOLS_H
+
+#include "baseProtocol.h"
+
+#include <m_popup.h>
+#include <string>
+using std::string;
+
+//****************************
+//get commandline header stuff
+//****************************
+typedef struct _UNICODE_STRING {
+USHORT Length;
+USHORT MaximumLength;
+PWSTR Buffer;
+} UNICODE_STRING;
+typedef UNICODE_STRING *PUNICODE_STRING;
+typedef enum _PROCESSINFOCLASS {
+ ProcessBasicInformation
+} PROCESSINFOCLASS;
+typedef struct _PEB_LDR_DATA {
+ BYTE Reserved1[8];
+ PVOID Reserved2[3];
+ LIST_ENTRY InMemoryOrderModuleList;
+} PEB_LDR_DATA,
+ *PPEB_LDR_DATA;
+typedef struct _RTL_USER_PROCESS_PARAMETERS {
+ BYTE Reserved1[16];
+ PVOID Reserved2[10];
+ UNICODE_STRING ImagePathName;
+ UNICODE_STRING CommandLine;
+} RTL_USER_PROCESS_PARAMETERS,
+ *PRTL_USER_PROCESS_PARAMETERS;
+typedef struct _PEB {
+ BYTE Reserved1[2];
+ BYTE BeingDebugged;
+ BYTE Reserved2[1];
+ PVOID Reserved3[2];
+ PPEB_LDR_DATA Ldr;
+ PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
+ BYTE Reserved4[104];
+ PVOID Reserved5[52];
+ void* PostProcessInitRoutine;
+ BYTE Reserved6[128];
+ PVOID Reserved7[1];
+ ULONG SessionId;
+} PEB,
+ *PPEB;
+typedef struct
+{
+ULONG AllocationSize;
+ULONG ActualSize;
+ULONG Flags;
+ULONG Unknown1;
+UNICODE_STRING Unknown2;
+HANDLE InputHandle;
+HANDLE OutputHandle;
+HANDLE ErrorHandle;
+UNICODE_STRING CurrentDirectory;
+HANDLE CurrentDirectoryHandle;
+UNICODE_STRING SearchPaths;
+UNICODE_STRING ApplicationName;
+UNICODE_STRING CommandLine;
+PVOID EnvironmentBlock;
+ULONG Unknown[9];
+UNICODE_STRING Unknown3;
+UNICODE_STRING Unknown4;
+UNICODE_STRING Unknown5;
+UNICODE_STRING Unknown6;
+} PROCESS_PARAMETERS, *PPROCESS_PARAMETERS;
+typedef struct _PROCESS_BASIC_INFORMATION {
+ PVOID Reserved1;
+ PPEB PebBaseAddress;
+ PVOID Reserved2[2];
+ ULONG_PTR UniqueProcessId;
+ PVOID Reserved3;
+} PROCESS_BASIC_INFORMATION;
+
+typedef ULONG (WINAPI *pZwQueryInformationProcess)(
+ IN HANDLE ProcessHandle,
+ IN PROCESSINFOCLASS ProcessInformationClass,
+ OUT PVOID ProcessInformation,
+ IN ULONG ProcessInformationLength,
+ OUT PULONG ReturnLength OPTIONAL
+);
+typedef ULONG (WINAPI *pZwClose)(
+ IN HANDLE Handle
+);
+typedef ULONG (WINAPI *pZwReadVirtualMemory)(
+ IN HANDLE ProcessHandle,
+ IN PVOID BaseAddress,
+ OUT PVOID Buffer,
+ IN ULONG BufferLength,
+ OUT PULONG ReturnLength OPTIONAL
+);
+
+#endif
\ No newline at end of file |