00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
#ifndef _EXP_
00027
#define _EXP_
00028
00029
#include "ntos.h"
00030
#include "zwapi.h"
00031 #define NOEXTAPI
00032
#include "wdbgexts.h"
00033
#include "ntdbg.h"
00034
#include "ki.h"
00035
#include "stdio.h"
00036
#include "pool.h"
00037
00038
00039
00040
00041
00042 typedef struct {
00043 PCALLBACK_OBJECT *CallBackObject;
00044 PWSTR CallbackName;
00045 }
EXP_INITIALIZE_GLOBAL_CALLBACKS;
00046
00047 typedef struct _EXP_LICENSE_INFO {
00048 HANDLE
RegKey;
00049 ULONG
Count;
00050 PWSTR
SubKeyName;
00051 WORK_QUEUE_ITEM ExpWatchLicenseInfoWorkItem;
00052 IO_STATUS_BLOCK
ExpLicenseInfoIoSb;
00053 ULONG
ExpLicenseInfoChangeBuffer;
00054 }
EXP_LICENSE_INFO, *
PEXP_LICENSE_INFO;
00055
00056
00057
00058
00059
00060
00061 BOOLEAN
00062
ExpWorkerInitialization (
00063 VOID
00064 );
00065
00066 BOOLEAN
00067
ExpEventInitialization (
00068 VOID
00069 );
00070
00071 BOOLEAN
00072
ExpEventPairInitialization (
00073 VOID
00074 );
00075
00076 BOOLEAN
00077
ExpMutantInitialization (
00078 VOID
00079 );
00080
00081 BOOLEAN
00082
ExpSemaphoreInitialization (
00083 VOID
00084 );
00085
00086 BOOLEAN
00087
ExpTimerInitialization (
00088 VOID
00089 );
00090
00091 BOOLEAN
00092
ExpWin32Initialization (
00093 VOID
00094 );
00095
00096 BOOLEAN
00097
ExpResourceInitialization (
00098 VOID
00099 );
00100
00101 PVOID
00102
ExpCheckForResource(
00103 IN PVOID p,
00104 IN ULONG Size
00105 );
00106
00107 BOOLEAN
00108
ExpInitSystemPhase0 (
00109 VOID
00110 );
00111
00112 BOOLEAN
00113
ExpInitSystemPhase1 (
00114 VOID
00115 );
00116
00117 BOOLEAN
00118
ExpProfileInitialization (
00119 );
00120
00121 BOOLEAN
00122
ExpUuidInitialization (
00123 );
00124
00125
VOID
00126
ExpProfileDelete (
00127 IN PVOID Object
00128 );
00129
00130
00131 BOOLEAN
00132
ExpInitializeCallbacks (
00133 VOID
00134 );
00135
00136 BOOLEAN
00137
ExpSysEventInitialization(
00138 VOID
00139 );
00140
00141
VOID
00142
ExpCheckSystemInfoWork (
00143 IN PVOID Context
00144 );
00145
00146
VOID
00147
ExInitSystemPhase2 (
00148 VOID
00149 );
00150
00151
VOID
00152
ExpCheckSystemInformation (
00153 PVOID Context,
00154 PVOID InformationClass,
00155 PVOID Argument2
00156 );
00157
00158
00159
VOID
00160
ExpTimeZoneWork(
00161 IN PVOID Context
00162 );
00163
00164
VOID
00165
ExpTimeRefreshDpcRoutine(
00166 IN
PKDPC Dpc,
00167 IN PVOID DeferredContext,
00168 IN PVOID SystemArgument1,
00169 IN PVOID SystemArgument2
00170 );
00171
00172
VOID
00173
ExpTimeRefreshWork(
00174 IN PVOID Context
00175 );
00176
00177
VOID
00178
ExpTimeZoneDpcRoutine(
00179 IN
PKDPC Dpc,
00180 IN PVOID DeferredContext,
00181 IN PVOID SystemArgument1,
00182 IN PVOID SystemArgument2
00183 );
00184
00185
VOID
00186
ExInitializeTimeRefresh(
00187 VOID
00188 );
00189
00190
VOID
00191
ExpExpirationThread(
00192 IN PVOID StartContext
00193 );
00194
00195 ULONG
00196
ExpComputeTickCountMultiplier(
00197 IN ULONG TimeIncrement
00198 );
00199
00200 BOOLEAN
00201
static
00202
ExpWatchProductTypeInitialization(
00203 VOID
00204 );
00205
00206
VOID
00207
static
00208
ExpWatchProductTypeWork(
00209 IN PVOID Context
00210 );
00211
00212
VOID
00213
static
00214
ExpWatchLicenseInfoWork(
00215 IN PVOID Context
00216 );
00217
00218
VOID
00219
static
00220
ExpWatchSystemPrefixWork(
00221 IN PVOID Context
00222 );
00223
00224
VOID
00225
static
00226
ExpWatchExpirationDataWork(
00227 IN PVOID Context
00228 );
00229
00230 PVOID
00231
ExpCheckForWorker(
00232 IN PVOID p,
00233 IN ULONG Size
00234 );
00235
00236 ULONG
ExpNtExpirationData[3];
00237 BOOLEAN
ExpSetupModeDetected;
00238 LARGE_INTEGER
ExpSetupSystemPrefix;
00239 HANDLE
ExpSetupKey;
00240 BOOLEAN
ExpSystemPrefixValid;
00241
00242
00243
#ifdef _PNP_POWER_
00244
00245
extern WORK_QUEUE_ITEM ExpCheckSystemInfoWorkItem;
00246
extern LONG ExpCheckSystemInfoBusy;
00247
extern KSPIN_LOCK ExpCheckSystemInfoLock;
00248
extern WCHAR ExpWstrSystemInformation[];
00249
extern WCHAR ExpWstrSystemInformationValue[];
00250
00251
#endif // _PNP_POWER_
00252
00253 extern WCHAR
ExpWstrCallback[];
00254 extern EXP_INITIALIZE_GLOBAL_CALLBACKS ExpInitializeCallback[];
00255
00256
00257 extern FAST_MUTEX ExpEnvironmentLock;
00258
00259 extern NPAGED_LOOKASIDE_LIST ExpSmallPagedPoolLookasideLists[
POOL_SMALL_LISTS];
00260 extern NPAGED_LOOKASIDE_LIST ExpSmallNPagedPoolLookasideLists[
POOL_SMALL_LISTS];
00261
00262 extern LIST_ENTRY
ExNPagedLookasideListHead;
00263 extern KSPIN_LOCK
ExNPagedLookasideLock;
00264 extern LIST_ENTRY
ExPagedLookasideListHead;
00265 extern KSPIN_LOCK
ExPagedLookasideLock;
00266 extern LIST_ENTRY
ExPoolLookasideListHead;
00267
00268
#endif // _EXP_