Changeset 1087
- Timestamp:
- 6/2/2009 3:24:36 AM (4 years ago)
- Location:
- trunk/eraser6/Eraser.Unlocker
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/eraser6/Eraser.Unlocker/Main.cpp
r1065 r1087 23 23 24 24 fNtQuerySystemInformation NtQuerySystemInformation = NULL; 25 fNtQueryInformationFile NtQueryInformationFile = NULL;26 25 fNtQueryObject NtQueryObject = NULL; 27 26 … … 34 33 NtQuerySystemInformation = reinterpret_cast<fNtQuerySystemInformation>( 35 34 GetProcAddress(ntDll, "NtQuerySystemInformation")); 36 NtQueryInformationFile = reinterpret_cast<fNtQueryInformationFile>(37 GetProcAddress(ntDll, "NtQueryInformationFile"));38 35 NtQueryObject = reinterpret_cast<fNtQueryObject>( 39 36 GetProcAddress(ntDll, "NtQueryObject")); -
trunk/eraser6/Eraser.Unlocker/NTApi.h
r1065 r1087 48 48 } SYSTEM_HANDLES, *PSYSTEM_HANDLES; 49 49 50 typedef struct _FILE_NAME_INFORMATION {51 ULONG FileNameLength;52 WCHAR FileName[1];53 } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;54 55 50 typedef struct _IO_STATUS_BLOCK { 56 51 union { … … 61 56 ULONG_PTR Information; 62 57 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 63 64 typedef enum _POOL_TYPE {65 NonPagedPool,66 PagedPool,67 NonPagedPoolMustSucceed,68 DontUseThisType,69 NonPagedPoolCacheAligned,70 PagedPoolCacheAligned,71 NonPagedPoolCacheAlignedMustS,72 MaxPoolType,73 NonPagedPoolSession = 32,74 PagedPoolSession,75 NonPagedPoolMustSucceedSession,76 DontUseThisTypeSession,77 NonPagedPoolCacheAlignedSession,78 PagedPoolCacheAlignedSession,79 NonPagedPoolCacheAlignedMustSSession80 } POOL_TYPE;81 82 typedef struct _OBJECT_TYPE_INFORMATION {83 UNICODE_STRING Name;84 ULONG ObjectCount;85 ULONG HandleCount;86 ULONG Reserved1[4];87 ULONG PeakObjectCount;88 ULONG PeakHandleCount;89 ULONG Reserved2[4];90 ULONG InvalidAttributes;91 GENERIC_MAPPING GenericMapping;92 ULONG ValidAccess;93 UCHAR Unknown;94 BOOLEAN MaintainHandleDatabase;95 POOL_TYPE PoolType;96 ULONG PagedPoolUsage;97 ULONG NonPagedPoolUsage;98 } OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;99 100 typedef enum _FILE_INFORMATION_CLASS {101 FileDirectoryInformation=1,102 FileFullDirectoryInformation,103 FileBothDirectoryInformation,104 FileBasicInformation,105 FileStandardInformation,106 FileInternalInformation,107 FileEaInformation,108 FileAccessInformation,109 FileNameInformation,110 FileRenameInformation,111 FileLinkInformation,112 FileNamesInformation,113 FileDispositionInformation,114 FilePositionInformation,115 FileFullEaInformation,116 FileModeInformation,117 FileAlignmentInformation,118 FileAllInformation,119 FileAllocationInformation,120 FileEndOfFileInformation,121 FileAlternateNameInformation,122 FileStreamInformation,123 FilePipeInformation,124 FilePipeLocalInformation,125 FilePipeRemoteInformation,126 FileMailslotQueryInformation,127 FileMailslotSetInformation,128 FileCompressionInformation,129 FileCopyOnWriteInformation,130 FileCompletionInformation,131 FileMoveClusterInformation,132 FileQuotaInformation,133 FileReparsePointInformation,134 FileNetworkOpenInformation,135 FileObjectIdInformation,136 FileTrackingInformation,137 FileOleDirectoryInformation,138 FileContentIndexInformation,139 FileInheritContentIndexInformation,140 FileOleInformation,141 FileMaximumInformation142 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;143 58 144 59 typedef enum _SYSTEM_INFORMATION_CLASS { … … 169 84 __out_opt PULONG); 170 85 171 typedef NTSTATUS (__stdcall *fNtQueryInformationFile)(172 IN HANDLE FileHandle,173 OUT PIO_STATUS_BLOCK IoStatusBlock,174 OUT PVOID FileInformation,175 IN ULONG Length,176 IN FILE_INFORMATION_CLASS FileInformationClass);177 178 86 typedef NTSTATUS (__stdcall *fNtQueryObject)( 179 87 IN HANDLE OPTIONAL, … … 184 92 185 93 extern fNtQuerySystemInformation NtQuerySystemInformation; 186 extern fNtQueryInformationFile NtQueryInformationFile;187 94 extern fNtQueryObject NtQueryObject;
Note: See TracChangeset
for help on using the changeset viewer.
