Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

86 lines
1.7 KiB

/*++
Copyright (c) 2002 Microsoft Corporation
Module Name:
mpprofil.h
Abstract:
This module contains function prototypes, declarations for HAL
profiling interface functions.
Author:
Steve Deng (sdeng) 14-Jun-2002
Environment:
Kernel mode.
--*/
#ifndef _MPPROFIL_H_
#define _MPPROFIL_H_
#include <halp.h>
//
// Define data types userd by profile interface functions
//
typedef struct _OVERFLOW_STATUS {
ULONG Number;
KPROFILE_SOURCE *pSource;
} OVERFLOW_STATUS, *POVERFLOW_STATUS;
//
// Protocals for profile interface functions
//
typedef VOID (*PINITIALIZE_PROFILING)(
VOID
);
typedef NTSTATUS (*PENABLE_MONITORING)(
IN KPROFILE_SOURCE ProfileSource
);
typedef NTSTATUS (*PENABLE_MONITORING)(
IN KPROFILE_SOURCE ProfileSource
);
typedef VOID (*PDISABLE_MONITORING)(
IN KPROFILE_SOURCE ProfileSource
);
typedef NTSTATUS (*PSET_INTERVAL)(
IN KPROFILE_SOURCE ProfileSource,
IN OUT ULONG_PTR *Interval
);
typedef NTSTATUS (*PQUERY_INFORMATION)(
IN HAL_QUERY_INFORMATION_CLASS InformationType,
IN ULONG BufferSize,
IN OUT PVOID Buffer,
OUT PULONG ReturnedLength
);
typedef VOID (*PCHECK_OVERFLOW_STATUS)(
POVERFLOW_STATUS pOverflowStatus
);
typedef struct _PROFILE_INTERFACE {
PINITIALIZE_PROFILING InitializeProfiling;
PENABLE_MONITORING EnableMonitoring;
PDISABLE_MONITORING DisableMonitoring;
PSET_INTERVAL SetInterval;
PQUERY_INFORMATION QueryInformation;
PCHECK_OVERFLOW_STATUS CheckOverflowStatus;
} PROFILE_INTERFACE, *PPROFILE_INTERFACE;
extern PROFILE_INTERFACE Amd64PriofileInterface;
#endif // _MPPROFIL_H__