C:/Web/tthieffer/TokenExecution/Tthieffer.h

Go to the documentation of this file.
00001 #ifndef _ENUM2_H_
00002  #define _ENUM2_H_
00003 
00004 
00005 #include <stdio.h>
00006 //#include <sddl.h>
00007 #include <windows.h>
00008 #include <psapi.h>
00009 #include <shlwapi.h>
00010 
00011 #pragma comment(lib, "ws2_32.lib")
00012 #pragma comment(lib, "advapi32.lib")
00013 #pragma comment(lib, "shlwapi.lib")
00014 #pragma comment(lib, "psapi.lib")
00015 
00016 typedef struct _credenciales{
00017    HANDLE hToken;
00018    DWORD pid; //Identificador de proceso del que se ha extraido el Token
00019    char user[256];
00020    SYSTEMTIME SystemTime;
00021 } CREDENCIALES;
00022 
00023 #define MAX_USERS 1000
00024    
00025 typedef LONG   NTSTATUS;
00026 typedef VOID   *POBJECT;
00027 
00028 typedef struct _SYSTEM_HANDLE {
00029    ULONG           uIdProcess;
00030    UCHAR           ObjectType;
00031    UCHAR           Flags;
00032    USHORT          Handle;
00033    POBJECT         pObject;
00034    ACCESS_MASK     GrantedAccess;
00035 } SYSTEM_HANDLE, *PSYSTEM_HANDLE;
00036 
00037 typedef struct _SYSTEM_HANDLE_INFORMATION {
00038    ULONG                   uCount;
00039    SYSTEM_HANDLE   Handles[1];
00040 } SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
00041 
00042 typedef struct _UNICODE_STRING {
00043    USHORT Length;
00044    USHORT MaximumLength;
00045    PWSTR  Buffer;
00046 } UNICODE_STRING;
00047 
00048 typedef UNICODE_STRING *PUNICODE_STRING;
00049 typedef const UNICODE_STRING *PCUNICODE_STRING;
00050 
00051 typedef UNICODE_STRING OBJECT_NAME_INFORMATION;
00052 typedef UNICODE_STRING *POBJECT_NAME_INFORMATION;
00053 
00054 
00055 typedef enum _OBJECT_INFORMATION_CLASS{
00056    ObjectBasicInformation,
00057       ObjectNameInformation,
00058       ObjectTypeInformation,
00059       ObjectAllTypesInformation,
00060       ObjectHandleInformation
00061 } OBJECT_INFORMATION_CLASS;
00062 
00063 #define STATUS_SUCCESS                          ((NTSTATUS)0x00000000L)
00064 #define STATUS_INFO_LENGTH_MISMATCH             ((NTSTATUS)0xC0000004L)
00065 #define STATUS_BUFFER_OVERFLOW                  ((NTSTATUS)0x80000005L)
00066 #define SystemHandleInformation                 16
00067 
00068 
00069 
00070 typedef NTSTATUS (WINAPI *NTQUERYSYSTEMINFORMATION)(DWORD SystemInformationClass, 
00071                                                     PVOID SystemInformation,
00072                                                     DWORD SystemInformationLength, 
00073                                                     PDWORD ReturnLength);
00074 
00075 typedef NTSTATUS (WINAPI *NTQUERYOBJECT)(
00076                                          HANDLE ObjectHandle, 
00077                                          OBJECT_INFORMATION_CLASS ObjectInformationClass, 
00078                                          PVOID ObjectInformation,
00079                                          DWORD Length, 
00080                                          PDWORD ResultLength);
00081 
00082 
00083 typedef NTSTATUS (WINAPI *NTCOMPARETOKENS) (
00084   HANDLE FirstTokenHandle,
00085   HANDLE SecondTokenHandle,
00086   PBOOLEAN Equal
00087 );
00088 
00089 
00090 
00091 
00092 #endif

Generated on Fri Feb 22 13:02:52 2008 for Token Thiffer by  doxygen 1.5.4