NT4/private/ntos/ex/exp.h
2020-09-30 17:12:29 +02:00

248 lines
3.4 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
exp.h
Abstract:
This module contains the private (internal) header file for the
executive.
Author:
David N. Cutler (davec) 23-May-1989
Environment:
Kernel mode only.
Revision History:
--*/
#ifndef _EXP_
#define _EXP_
#include "ntos.h"
#include "zwapi.h"
#include <ntdbg.h>
#include "ki.h"
#include "stdio.h"
#include "pool.h"
//
// Executive information initialization structure
//
typedef struct {
PCALLBACK_OBJECT *CallBackObject;
PWSTR CallbackName;
} EXP_INITIALIZE_GLOBAL_CALLBACKS;
//
// Executive object and other initialization function definitions.
//
BOOLEAN
ExpWorkerInitialization (
VOID
);
BOOLEAN
ExpEventInitialization (
VOID
);
BOOLEAN
ExpEventPairInitialization (
VOID
);
BOOLEAN
ExpMutantInitialization (
VOID
);
BOOLEAN
ExpSemaphoreInitialization (
VOID
);
BOOLEAN
ExpTimerInitialization (
VOID
);
BOOLEAN
ExpWin32Initialization (
VOID
);
BOOLEAN
ExpResourceInitialization (
VOID
);
BOOLEAN
ExpInitSystemPhase0 (
VOID
);
BOOLEAN
ExpInitSystemPhase1 (
VOID
);
BOOLEAN
ExpProfileInitialization (
);
BOOLEAN
ExpUuidInitialization (
);
VOID
ExpProfileDelete (
IN PVOID Object
);
BOOLEAN
ExpInitializeEventIds( VOID );
NTSTATUS
ExpQueryEventIds(
OUT PRTL_EVENT_ID_INFO EventIds,
IN ULONG EventIdsLength,
OUT PULONG ReturnLength OPTIONAL
);
BOOLEAN
ExpInitializeCallbacks (
VOID
);
BOOLEAN
ExpSysEventInitialization(
VOID
);
VOID
ExpCheckSystemInfoWork (
IN PVOID Context
);
VOID
ExInitSystemPhase2 (
VOID
);
VOID
ExpCheckSystemInformation (
PVOID Context,
PVOID InformationClass,
PVOID Argument2
);
VOID
ExShutdownSystem(
BOOLEAN RebootAfterShutdown
);
VOID
ExpTimeZoneWork(
IN PVOID Context
);
VOID
ExpTimeRefreshDpcRoutine(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
VOID
ExpTimeRefreshWork(
IN PVOID Context
);
VOID
ExpTimeZoneDpcRoutine(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
VOID
ExInitializeTimeRefresh(
VOID
);
VOID
ExpExpirationThread(
IN PVOID StartContext
);
ULONG
ExpComputeTickCountMultiplier(
IN ULONG TimeIncrement
);
BOOLEAN
static
ExpWatchProductTypeInitialization(
VOID
);
VOID
static
ExpWatchProductTypeWork(
IN PVOID Context
);
VOID
static
ExpWatchSystemPrefixWork(
IN PVOID Context
);
VOID
static
ExpWatchExpirationDataWork(
IN PVOID Context
);
ULONG ExpNtExpirationData[3];
BOOLEAN ExpSetupModeDetected;
LARGE_INTEGER ExpSetupSystemPrefix;
HANDLE ExpSetupKey;
BOOLEAN ExpSystemPrefixValid;
#ifdef _PNP_POWER_
extern WORK_QUEUE_ITEM ExpCheckSystemInfoWorkItem;
extern LONG ExpCheckSystemInfoBusy;
extern KSPIN_LOCK ExpCheckSystemInfoLock;
extern WCHAR ExpWstrSystemInformation[];
extern WCHAR ExpWstrSystemInformationValue[];
extern WCHAR ExpWstrCallback[];
extern EXP_INITIALIZE_GLOBAL_CALLBACKS ExpInitializeCallback[];
#endif // _PNP_POWER_
extern FAST_MUTEX ExpEnvironmentLock;
extern SMALL_POOL_LOOKASIDE ExpSmallPagedPoolLookasideLists[POOL_SMALL_LISTS];
extern SMALL_POOL_LOOKASIDE ExpSmallNPagedPoolLookasideLists[POOL_SMALL_LISTS];
#endif // _EXP_