www.pudn.com > Irp-Files.rar > wintypes.h


typedef unsigned long       DWORD; 
typedef int                 BOOL; 
typedef unsigned char       BYTE; 
typedef unsigned short      WORD; 
 
#define LOWORD(l)           ((WORD)(l)) 
#define HIWORD(l)           ((WORD)(((DWORD)(l) >> 16) & 0xFFFF)) 
#define LOBYTE(w)           ((BYTE)(w)) 
#define HIBYTE(w)           ((BYTE)(((WORD)(w) >> 8) & 0xFF)) 
 
#define MAKEWORD(a, b)      ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8)) 
#define MAKELONG(a, b)      ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16)) 
 
typedef struct _KIDTENTRY 
{ 
	USHORT Offset; 
	USHORT Selector; 
	USHORT Access; 
	USHORT ExtendedOffset; 
} KIDTENTRY, *PKIDTENTRY; 
 
typedef struct _AUX_ACCESS_DATA { 
	PPRIVILEGE_SET PrivilegesUsed; 
	GENERIC_MAPPING GenericMapping; 
	ACCESS_MASK AccessesToAudit; 
	ULONG Reserve;						//unknow... 
} AUX_ACCESS_DATA, *PAUX_ACCESS_DATA; 
 
typedef struct _QUERY_DIRECTORY { 
	ULONG Length; 
	PUNICODE_STRING FileName; 
	FILE_INFORMATION_CLASS FileInformationClass; 
	ULONG FileIndex; 
} QUERY_DIRECTORY, *PQUERY_DIRECTORY; 
 
typedef enum _KAPC_ENVIRONMENT 
{ 
	OriginalApcEnvironment, 
	AttachedApcEnvironment, 
	CurrentApcEnvironment 
} KAPC_ENVIRONMENT; 
 
typedef PVOID PRKTHREAD; 
 
NTSTATUS 
SeCreateAccessState( 
	IN PACCESS_STATE AccessState, 
	IN PAUX_ACCESS_DATA AuxData, 
	IN ACCESS_MASK DesiredAccess, 
	IN PGENERIC_MAPPING GenericMapping OPTIONAL 
	); 
 
NTSTATUS 
ObCreateObject ( 
	IN KPROCESSOR_MODE ProbeMode, 
	IN POBJECT_TYPE ObjectType, 
	IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, 
	IN KPROCESSOR_MODE OwnershipMode, 
	IN OUT PVOID ParseContext OPTIONAL, 
	IN ULONG ObjectBodySize, 
	IN ULONG PagedPoolCharge, 
	IN ULONG NonPagedPoolCharge, 
	OUT PVOID *Object 
	); 
 
PDEVICE_OBJECT 
IoGetAttachedDevice( 
	IN PDEVICE_OBJECT DeviceObject 
	); 
 
NTSTATUS 
MmCreateSection ( 
    OUT PVOID *SectionObject, 
    IN ACCESS_MASK DesiredAccess, 
    IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, 
    IN PLARGE_INTEGER InputMaximumSize, 
    IN ULONG SectionPageProtection, 
    IN ULONG AllocationAttributes, 
    IN HANDLE FileHandle OPTIONAL, 
    IN PFILE_OBJECT FileObject OPTIONAL 
    ); 
 
NTSTATUS 
MmMapViewOfSection( 
    IN PVOID SectionToMap, 
    IN PEPROCESS Process, 
    IN OUT PVOID *CapturedBase, 
    IN ULONG_PTR ZeroBits, 
    IN SIZE_T CommitSize, 
    IN OUT PLARGE_INTEGER SectionOffset, 
    IN OUT PSIZE_T CapturedViewSize, 
    IN SECTION_INHERIT InheritDisposition, 
    IN ULONG AllocationType, 
    IN ULONG Protect 
    ); 
 
NTSTATUS 
MmUnmapViewOfSection( 
    IN PEPROCESS Process, 
    IN PVOID BaseAddress 
     ); 
 
NTSTATUS 
FsRtlGetFileSize( 
    IN PFILE_OBJECT FileObject, 
    IN OUT PLARGE_INTEGER FileSize 
    ); 
 
NTSTATUS 
ObInsertObject ( 
    IN PVOID Object, 
    IN PACCESS_STATE AccessState OPTIONAL, 
    IN ACCESS_MASK DesiredAccess OPTIONAL, 
    IN ULONG ObjectPointerBias, 
    OUT PVOID *NewObject OPTIONAL, 
    OUT PHANDLE Handle 
    ); 
 
NTSTATUS 
IoSetInformation( 
    IN PFILE_OBJECT FileObject, 
    IN FILE_INFORMATION_CLASS FileInformationClass, 
    IN ULONG Length, 
    IN PVOID FileInformation 
    ); 
 
NTSTATUS 
ObOpenObjectByPointer ( 
    IN PVOID Object, 
    IN ULONG HandleAttributes, 
    IN PACCESS_STATE PassedAccessState OPTIONAL, 
    IN ACCESS_MASK DesiredAccess, 
    IN POBJECT_TYPE ObjectType, 
    IN KPROCESSOR_MODE AccessMode, 
    OUT PHANDLE Handle 
    ); 
 
NTSTATUS 
PsLookupProcessByProcessId( 
    IN HANDLE ProcessId, 
    OUT PEPROCESS *Process 
    ); 
 
VOID 
KeAttachProcess ( 
    IN PEPROCESS Process 
    ); 
 
VOID 
KeDetachProcess ( 
    VOID 
    ); 
 
NTSTATUS 
ZwOpenProcess ( 
    OUT PHANDLE ProcessHandle, 
    IN ACCESS_MASK DesiredAccess, 
    IN POBJECT_ATTRIBUTES ObjectAttributes, 
    IN PCLIENT_ID ClientId OPTIONAL 
    ); 
 
NTSTATUS 
ObQueryNameString ( 
    IN PVOID Object, 
    OUT POBJECT_NAME_INFORMATION ObjectNameInfo, 
    IN ULONG Length, 
    OUT PULONG ReturnLength 
    ); 
 
NTSTATUS 
ZwDuplicateObject ( 
    IN HANDLE SourceProcessHandle, 
    IN HANDLE SourceHandle, 
    IN HANDLE TargetProcessHandle OPTIONAL, 
    OUT PHANDLE TargetHandle OPTIONAL, 
    IN ACCESS_MASK DesiredAccess, 
    IN ULONG HandleAttributes, 
    IN ULONG Options 
    ); 
 
NTKERNELAPI 
NTSTATUS 
NTAPI 
PsLookupThreadByThreadId( 
	IN PVOID UniqueThreadId, 
	OUT PETHREAD *Thread 
	); 
 
NTKERNELAPI 
VOID 
KeInitializeApc ( 
    IN PRKAPC Apc, 
    IN PRKTHREAD Thread, 
    IN KAPC_ENVIRONMENT Environment, 
    IN PKKERNEL_ROUTINE KernelRoutine, 
    IN PKRUNDOWN_ROUTINE RundownRoutine OPTIONAL, 
    IN PKNORMAL_ROUTINE NormalRoutine OPTIONAL, 
    IN KPROCESSOR_MODE ProcessorMode OPTIONAL, 
    IN PVOID NormalContext OPTIONAL 
    ); 
 
NTKERNELAPI 
BOOLEAN 
KeInsertQueueApc ( 
    IN PRKAPC Apc, 
    IN PVOID SystemArgument1, 
    IN PVOID SystemArgument2, 
    IN KPRIORITY Increment 
    ); 
 
extern POBJECT_TYPE *PsThreadType; 
extern ULONG *NtBuildNumber;