mirror of
https://github.com/lianthony/NT4.0.git
synced 2025-12-30 08:49:45 -06:00
1001 lines
23 KiB
Plaintext
1001 lines
23 KiB
Plaintext
|
||
//
|
||
// C R T D L L . D L L P r o f i l i n g f i l e s
|
||
//
|
||
|
||
$INPUT$wincrt$END$ //Build the zwincrt.h file
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zwincrt.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
zwincrt.h : header file for win32 api profiling dll for the crtdll
|
||
system dll
|
||
|
||
Provides index by API name into profiling data structures.
|
||
Creates array of API names for use in dumping data.
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
$END$
|
||
$FOOTER$
|
||
|
||
#define MODULE_NAME "crtdll"
|
||
#define API_COUNT $ROWS$
|
||
#define DATA_SEM_NAME "\\BaseNamedObjects\\CrtdllDataSem"
|
||
#define DATA_SEC_NAME "\\BaseNamedObjects\\CrtdllDataSection"
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zwincrt.h$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE
|
||
#define I_$DATA:api$ ($ROWS$-1)
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$crtapi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
crtapi.h: Defines the list of apis for crtdll.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
|
||
#ifdef ZCRTDLL
|
||
char *aszApiNames [] = {
|
||
$END$
|
||
$TEMPLATE
|
||
"$DATA:api$",
|
||
$END$
|
||
$FOOTER
|
||
""
|
||
};
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$ //Build the zcrt.def file (ix86 version)
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zcrti386.def$END$
|
||
$HEADER$
|
||
LIBRARY ZRTDLL
|
||
|
||
DESCRIPTION 'Profiling dll for crtdll.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$IFN:api:_control87$$IFN:api:longjmp$$IFN:api:setjmp$$IFN:api:_setjmp$ $DATA:api$=Z$DATA:api$$ENDIF$$ENDIF$$ENDIF$$ENDIF$
|
||
$END$
|
||
$FOOTER$
|
||
;
|
||
; Cover setjmp/longjmp
|
||
;
|
||
_setjmp=CRTDLL._setjmp
|
||
longjmp=CRTDLL.longjmp
|
||
|
||
;
|
||
; Private and variable entries - not profiled
|
||
; Variable entries have the _dll suffix.
|
||
;
|
||
_CIacos=CRTDLL._CIacos
|
||
_CIasin=CRTDLL._CIasin
|
||
_CIatan=CRTDLL._CIatan
|
||
_CIatan2=CRTDLL._CIatan2
|
||
_CIcos=CRTDLL._CIcos
|
||
_CIcosh=CRTDLL._CIcosh
|
||
_CIexp=CRTDLL._CIexp
|
||
_CIfmod=CRTDLL._CIfmod
|
||
_CIlog=CRTDLL._CIlog
|
||
_CIlog10=CRTDLL._CIlog10
|
||
_CIpow=CRTDLL._CIpow
|
||
_CIsin=CRTDLL._CIsin
|
||
_CIsinh=CRTDLL._CIsinh
|
||
_CIsqrt=CRTDLL._CIsqrt
|
||
_CItan=CRTDLL._CItan
|
||
_CItanh=CRTDLL._CItanh
|
||
__GetMainArgs=CRTDLL.__GetMainArgs
|
||
_HUGE_dll=CRTDLL._HUGE_dll
|
||
_XcptFilter=CRTDLL._XcptFilter
|
||
__doserrno=CRTDLL.__doserrno
|
||
__fpecode=CRTDLL.__fpecode
|
||
__mb_cur_max_dll=CRTDLL.__mb_cur_max_dll
|
||
__pxcptinfoptrs=CRTDLL.__pxcptinfoptrs
|
||
__threadhandle=CRTDLL.__threadhandle
|
||
__threadid=CRTDLL.__threadid
|
||
_acmdln_dll=CRTDLL._acmdln_dll
|
||
_aexit_rtn_dll=CRTDLL._aexit_rtn_dll
|
||
_amsg_exit=CRTDLL._amsg_exit
|
||
_basemajor_dll=CRTDLL._basemajor_dll
|
||
_baseminor_dll=CRTDLL._baseminor_dll
|
||
_baseversion_dll=CRTDLL._baseversion_dll
|
||
_beginthread=CRTDLL._beginthread
|
||
_commode_dll=CRTDLL._commode_dll
|
||
_cpumode_dll=CRTDLL._cpumode_dll
|
||
_ctype=CRTDLL._ctype
|
||
_daylight_dll=CRTDLL._daylight_dll
|
||
_endthread=CRTDLL._endthread
|
||
_environ_dll=CRTDLL._environ_dll
|
||
_errno=CRTDLL._errno
|
||
_except_handler2=CRTDLL._except_handler2
|
||
_fileinfo_dll=CRTDLL._fileinfo_dll
|
||
_fmode_dll=CRTDLL._fmode_dll
|
||
_ftol=CRTDLL._ftol
|
||
_getdllprocaddr=CRTDLL._getdllprocaddr
|
||
_global_unwind2=CRTDLL._global_unwind2
|
||
_initterm=CRTDLL._initterm
|
||
_iob=CRTDLL._iob
|
||
_local_unwind2=CRTDLL._local_unwind2
|
||
_osmajor_dll=CRTDLL._osmajor_dll
|
||
_osminor_dll=CRTDLL._osminor_dll
|
||
_osmode_dll=CRTDLL._osmode_dll
|
||
_osver_dll=CRTDLL._osver_dll
|
||
_osversion_dll=CRTDLL._osversion_dll
|
||
_pgmptr_dll=CRTDLL._pgmptr_dll
|
||
_sys_errlist=CRTDLL._sys_errlist
|
||
_sys_nerr_dll=CRTDLL._sys_nerr_dll
|
||
_timezone_dll=CRTDLL._timezone_dll
|
||
_tzname=CRTDLL._tzname
|
||
_winmajor_dll=CRTDLL._winmajor_dll
|
||
_winminor_dll=CRTDLL._winminor_dll
|
||
_winver_dll=CRTDLL._winver_dll
|
||
signal=CRTDLL.signal
|
||
_control87=CRTDLL._control87
|
||
_pctype_dll=CRTDLL._pctype_dll
|
||
_pwctype_dll=CRTDLL._pwctype_dll
|
||
__argc_dll=CRTDLL.__argc_dll
|
||
__argv_dll=CRTDLL.__argv_dll
|
||
|
||
;
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$ //Build the zcrt.def file (mips version)
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zcrtmips.def$END$
|
||
$HEADER$
|
||
LIBRARY ZRTDLL
|
||
|
||
DESCRIPTION 'Profiling dll for crtdll.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$IFN:api:_control87$$IFN:api:longjmp$$IFN:api:setjmp$$IFN:api:_setjmp$ $DATA:api$=Z$DATA:api$$ENDIF$$ENDIF$$ENDIF$$ENDIF$
|
||
$END$
|
||
$FOOTER$
|
||
;
|
||
; Cover setjmp/longjmp
|
||
;
|
||
setjmp=CRTDLL.setjmp
|
||
longjmp=CRTDLL.longjmp
|
||
|
||
;
|
||
; Private and variable entries - not profiled
|
||
; Variable entries have the _dll suffix.
|
||
;
|
||
__C_specific_handler=CRTDLL.__C_specific_handler
|
||
__GetMainArgs=CRTDLL.__GetMainArgs
|
||
_HUGE_dll=CRTDLL._HUGE_dll
|
||
_XcptFilter=CRTDLL._XcptFilter
|
||
__doserrno=CRTDLL.__doserrno
|
||
__fpecode=CRTDLL.__fpecode
|
||
__mb_cur_max_dll=CRTDLL.__mb_cur_max_dll
|
||
__pxcptinfoptrs=CRTDLL.__pxcptinfoptrs
|
||
__threadhandle=CRTDLL.__threadhandle
|
||
__threadid=CRTDLL.__threadid
|
||
_acmdln_dll=CRTDLL._acmdln_dll
|
||
_aexit_rtn_dll=CRTDLL._aexit_rtn_dll
|
||
_amsg_exit=CRTDLL._amsg_exit
|
||
_basemajor_dll=CRTDLL._basemajor_dll
|
||
_baseminor_dll=CRTDLL._baseminor_dll
|
||
_baseversion_dll=CRTDLL._baseversion_dll
|
||
_beginthread=CRTDLL._beginthread
|
||
_commode_dll=CRTDLL._commode_dll
|
||
_cpumode_dll=CRTDLL._cpumode_dll
|
||
_ctype=CRTDLL._ctype
|
||
_daylight_dll=CRTDLL._daylight_dll
|
||
_endthread=CRTDLL._endthread
|
||
_environ_dll=CRTDLL._environ_dll
|
||
_errno=CRTDLL._errno
|
||
_fileinfo_dll=CRTDLL._fileinfo_dll
|
||
_fmode_dll=CRTDLL._fmode_dll
|
||
_getdllprocaddr=CRTDLL._getdllprocaddr
|
||
_initterm=CRTDLL._initterm
|
||
_iob=CRTDLL._iob
|
||
_osmajor_dll=CRTDLL._osmajor_dll
|
||
_osminor_dll=CRTDLL._osminor_dll
|
||
_osmode_dll=CRTDLL._osmode_dll
|
||
_osver_dll=CRTDLL._osver_dll
|
||
_osversion_dll=CRTDLL._osversion_dll
|
||
_pgmptr_dll=CRTDLL._pgmptr_dll
|
||
_sys_errlist=CRTDLL._sys_errlist
|
||
_sys_nerr_dll=CRTDLL._sys_nerr_dll
|
||
_timezone_dll=CRTDLL._timezone_dll
|
||
_tzname=CRTDLL._tzname
|
||
_winmajor_dll=CRTDLL._winmajor_dll
|
||
_winminor_dll=CRTDLL._winminor_dll
|
||
_winver_dll=CRTDLL._winver_dll
|
||
signal=CRTDLL.signal
|
||
__jump_unwind=CRTDLL.__jump_unwind
|
||
_pctype_dll=CRTDLL._pctype_dll
|
||
_pwctype_dll=CRTDLL._pwctype_dll
|
||
__argc_dll=CRTDLL.__argc_dll
|
||
__argv_dll=CRTDLL.__argv_dll
|
||
|
||
;
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$ //Build the zcrt.c file
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zcrt.c$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
File: Zcrt.c
|
||
|
||
Profiling dll for crtdll.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator
|
||
|
||
--*/
|
||
#include <nt.h>
|
||
#include <ntrtl.h>
|
||
#include <nturtl.h>
|
||
#include "crtdll.h"
|
||
#include "windows.h"
|
||
#include "api32prf.h" //Data Structures
|
||
#include "zwincrt.h"
|
||
|
||
extern BOOLEAN fInitDone;
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$wincrt$END$
|
||
$SELECT$$IFE:dll:CRTDLL$$END$
|
||
$OUTPUT$zcrt.c$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE$
|
||
$IFN:api:_control87$$IFN:api:_cprintf$$IFN:api:_cscanf$$IFN:api:_execl$$IFN:api:_execle$$IFN:api:_execlp$$IFN:api:_execlpe$$IFN:api:_open$$IFN:api:_snprintf$$IFN:api:_sopen$$IFN:api:_spawnl$$IFN:api:_spawnle$
|
||
$IFN:api:_spawnlp$$IFN:api:_spawnlpe$$IFN:api:printf$$IFN:api:scanf$$IFN:api:sprintf$$IFN:api:sscanf$$IFN:api:fprintf$$IFN:api:fscanf$$IFN:api:_snwprintf$$IFN:api:wprintf$$IFN:api:fwprintf$
|
||
$IFN:api:fwscanf$$IFN:api:swscanf$$IFN:api:swprintf$$IFN:api:wscanf$$IFN:api:bsearch$$IFN:api:_lfind$$IFN:api:_lsearch$$IFN:api:qsort$$IFN:api:longjmp$$IFN:api:setjmp$$IFN:api:_setjmp$$IFN:api:atexit$
|
||
$DATA:type$ _CRTAPI1 $DATA:routine$ Z$DATA:api$ ($IFN:params:void$$LOOP:params$$DATA:params*$ $IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$)
|
||
{
|
||
$IFN:type:void$
|
||
$DATA:type$ RetVal;
|
||
$ENDIF$
|
||
SHORT sTimerHandle;
|
||
ULONG ulElapsedTime;
|
||
|
||
if (fInitDone == FALSE) {
|
||
ApfInitDll();
|
||
}
|
||
TimerOpen(&sTimerHandle, MICROSECONDS);
|
||
TimerInit(sTimerHandle);
|
||
//
|
||
// Call the api
|
||
//
|
||
$IFN:type:void$RetVal = $ENDIF$$DATA:api$($IFN:params:void$$LOOP:params$$IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$);
|
||
//
|
||
// Get the elapsed time
|
||
//
|
||
ulElapsedTime = TimerRead(sTimerHandle);
|
||
ApfRecordInfo(I_$DATA:api$, ulElapsedTime);
|
||
TimerClose(sTimerHandle);
|
||
|
||
return$IFN:type:void$(RetVal)$ENDIF$;
|
||
}
|
||
$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$$ENDIF$
|
||
$END$
|
||
|
||
//
|
||
// K E R N E L 3 2 . D L L P r o f i l i n g f i l e s
|
||
//
|
||
|
||
$INPUT$winapi$END$ //Build the zwinbase.h file
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$zwinbase.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
zwinbase.h : header file for win32 api profiling dll for the kernel32
|
||
system dll
|
||
|
||
Provides index by API name into profiling data structures.
|
||
Creates array of API names for use in dumping data.
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
$END$
|
||
$FOOTER$
|
||
|
||
#define MODULE_NAME "kernel32"
|
||
#define API_COUNT $ROWS$
|
||
#define DATA_SEM_NAME "\\BaseNamedObjects\\Kernel32DataSem"
|
||
#define DATA_SEC_NAME "\\BaseNamedObjects\\Kernel32DataSection"
|
||
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$zwinbase.h$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE
|
||
#define I_$DATA:api$ ($ROWS$-1)
|
||
$END$
|
||
$FOOTER$
|
||
#ifdef UNICODE
|
||
#define I_GetModuleHandle I_GetModuleHandleW
|
||
#else
|
||
#define I_GetModuleHandle I_GetModuleHandleA
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$baseapi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
baseapi.h: Defines the list of apis for kernel32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
|
||
#ifdef ZKERNEL32
|
||
char *aszApiNames [] = {
|
||
$END$
|
||
$TEMPLATE
|
||
"$DATA:api$",
|
||
$END$
|
||
$FOOTER
|
||
""
|
||
};
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zbase.def file
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$zbase.def$END$
|
||
$HEADER$
|
||
LIBRARY ZERNEL32
|
||
|
||
DESCRIPTION 'Profiling dll for kernel32.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$DATA:api$=Z$DATA:api$
|
||
$END$
|
||
$FOOTER$
|
||
;
|
||
; Private entries - not profiled
|
||
;
|
||
; vdmapi.h
|
||
;
|
||
VDMOperationStarted=zVDMOperationStarted
|
||
GetNextVDMCommand=zGetNextVDMCommand
|
||
ExitVDM=zExitVDM
|
||
GetBinaryType=zGetBinaryType
|
||
;
|
||
; conapi.h
|
||
;
|
||
RegisterConsoleVDM=zRegisterConsoleVDM
|
||
VDMConsoleOperation=zVDMConsoleOperation
|
||
;
|
||
; others
|
||
;
|
||
RtlUnwind=zRtlUnwind
|
||
;
|
||
; mips/alpha specific
|
||
;
|
||
RtlCaptureContext=zRtlCaptureContext
|
||
RtlLookupFunctionEntry=zRtlLookupFunctionEntry
|
||
RtlVirtualUnwind=zRtlVirtualUnwind
|
||
;
|
||
; alpha specific
|
||
;
|
||
RtlUnwindRfp=zRtlUnwindRfp
|
||
|
||
;
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zbase.c file
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$zbase.c$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
File: Zbase.c
|
||
|
||
Profiling dll for kernel32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator
|
||
|
||
--*/
|
||
#include <nt.h>
|
||
#include <ntrtl.h>
|
||
#include <nturtl.h>
|
||
#include "windows.h"
|
||
#include "api32prf.h" //Data Structures
|
||
#include "zwinbase.h"
|
||
|
||
extern BOOLEAN fInitDone;
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:KERNEL32$$END$
|
||
$OUTPUT$zbase.c$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE$
|
||
$DATA:type$ $DATA:routine$ Z$DATA:api$ ($IFN:params:void$$LOOP:params$$DATA:params*$ $IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$)
|
||
{
|
||
$IFN:type:void$
|
||
$DATA:type$ RetVal;
|
||
$ENDIF$
|
||
SHORT sTimerHandle;
|
||
ULONG ulElapsedTime;
|
||
|
||
if (fInitDone == FALSE) {
|
||
ApfInitDll();
|
||
}
|
||
TimerOpen(&sTimerHandle, MICROSECONDS);
|
||
TimerInit(sTimerHandle);
|
||
//
|
||
// Call the api
|
||
//
|
||
$IFN:type:void$RetVal = $ENDIF$$DATA:api$($IFN:params:void$$LOOP:params$$IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$);
|
||
//
|
||
// Get the elapsed time
|
||
//
|
||
ulElapsedTime = TimerRead(sTimerHandle);
|
||
ApfRecordInfo(I_$DATA:api$, ulElapsedTime);
|
||
TimerClose(sTimerHandle);
|
||
|
||
return$IFN:type:void$(RetVal)$ENDIF$;
|
||
}
|
||
$END$
|
||
|
||
|
||
//
|
||
// G D I 3 2 . D L L P r o f i l i n g f i l e s
|
||
//
|
||
|
||
$INPUT$winapi$END$ //Build the zwingdi.h file
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$zwingdi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
zwingdi.h : header file for win32 api profiling dll for the GDI32
|
||
system dll
|
||
|
||
Provides index by API name into profiling data structures.
|
||
Creates array of API names for use in dumping data.
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
$END$
|
||
$FOOTER$
|
||
|
||
#define MODULE_NAME "gdi32"
|
||
#define API_COUNT $ROWS$
|
||
#define DATA_SEM_NAME "\\BaseNamedObjects\\Gdi32DataSem"
|
||
#define DATA_SEC_NAME "\\BaseNamedObjects\\Gdi32DataSection"
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$zwingdi.h$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE
|
||
#define I_$DATA:api$ ($ROWS$-1)
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$gdiapi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
gdiapi.h: Defines the list of apis for GDI32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
#ifdef ZGDI32
|
||
char *aszApiNames [] = {
|
||
$END$
|
||
$TEMPLATE
|
||
"$DATA:api$",
|
||
$END$
|
||
$FOOTER
|
||
""
|
||
};
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zgdi.def file
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$zgdi.def$END$
|
||
$HEADER$
|
||
LIBRARY ZDI32
|
||
|
||
DESCRIPTION 'Profiling dll for GDI32.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$DATA:api$=Z$DATA:api$
|
||
$END$
|
||
$FOOTER$
|
||
;
|
||
; Private entries - not profiled
|
||
;
|
||
DeviceCapabilitiesExA=zDeviceCapabilitiesExA
|
||
DeviceCapabilitiesExW=zDeviceCapabilitiesExW
|
||
DeviceCapabilitiesEx=zDeviceCapabilitiesExA
|
||
;
|
||
GetKerningPairs=zGetKerningPairs
|
||
GetGlyphOutline=zGetGlyphOutline
|
||
GdiCleanCacheDC=zGdiCleanCacheDC
|
||
GdiCvtHnd=zGdiCvtHnd
|
||
GdiReserveHandles=zGdiReserveHandles
|
||
GetCharWidthWOW=zGetCharWidthWOW
|
||
GetOutlineTextMetricsWOW=zGetOutlineTextMetricsWOW
|
||
GetTextMetricsWOW=zGetTextMetricsWOW
|
||
GetRandomRgn=zGetRandomRgn
|
||
GetRelAbs=zGetRelAbs
|
||
SetBkModeWOW=zSetBkModeWOW
|
||
SetPolyFillModeWOW=zSetPolyFillModeWOW
|
||
SetRelAbs=zSetRelAbs
|
||
SetROP2WOW=zSetROP2WOW
|
||
SetStretchBltModeWOW=zSetStretchBltModeWOW
|
||
SetTextAlignWOW=zSetTextAlignWOW
|
||
|
||
;
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zgdi.c file
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$zgdi.c$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
File: Zgdi.c
|
||
|
||
Profiling dll for GDI32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator
|
||
|
||
--*/
|
||
#include <nt.h>
|
||
#include <ntrtl.h>
|
||
#include <nturtl.h>
|
||
#include "windows.h"
|
||
#include "drivinit.h"
|
||
#include "zwingdi.h"
|
||
#include "api32prf.h" //Data Structures
|
||
|
||
extern BOOLEAN fInitDone;
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:GDI32$$END$
|
||
$OUTPUT$zgdi.c$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE$
|
||
$DATA:type$ $DATA:routine$ Z$DATA:api$ ($IFN:params:void$$LOOP:params$$DATA:params*$ $IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$)
|
||
{
|
||
$IFN:type:void$
|
||
$DATA:type$ RetVal;
|
||
$ENDIF$
|
||
SHORT sTimerHandle;
|
||
ULONG ulElapsedTime;
|
||
|
||
if (fInitDone == FALSE) {
|
||
ApfInitDll();
|
||
}
|
||
TimerOpen(&sTimerHandle,MICROSECONDS);
|
||
TimerInit(sTimerHandle);
|
||
//
|
||
// Call the api
|
||
//
|
||
$IFN:type:void$RetVal = $ENDIF$$DATA:api$($IFN:params:void$$LOOP:params$$IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$);
|
||
//
|
||
// Get the elapsed time
|
||
//
|
||
ulElapsedTime = TimerRead(sTimerHandle);
|
||
ApfRecordInfo(I_$DATA:api$, ulElapsedTime);
|
||
TimerClose(sTimerHandle);
|
||
|
||
return$IFN:type:void$(RetVal)$ENDIF$;
|
||
}
|
||
$END$
|
||
|
||
//
|
||
// U S E R 3 2 . D L L P r o f i l i n g f i l e s
|
||
//
|
||
|
||
$INPUT$winapi$END$ //Build the zwinuser.h file
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$zwinuser.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
zwinuser.h : header file for win32 api profiling dll for the USER32
|
||
system dll
|
||
|
||
Provides index by API name into profiling data structures.
|
||
Creates array of API names for use in dumping data.
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
$END$
|
||
$FOOTER$
|
||
|
||
#define MODULE_NAME "user32"
|
||
#define API_COUNT $ROWS$
|
||
#define DATA_SEM_NAME "\\BaseNamedObjects\\User32DataSem"
|
||
#define DATA_SEC_NAME "\\BaseNamedObjects\\User32DataSection"
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$zwinuser.h$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE
|
||
#define I_$DATA:api$ ($ROWS$-1)
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$userapi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
userapi.h: Defines the list of apis for USER32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
#ifdef ZUSER32
|
||
char *aszApiNames [] = {
|
||
$END$
|
||
$TEMPLATE
|
||
"$DATA:api$",
|
||
$END$
|
||
$FOOTER
|
||
""
|
||
};
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zuser.def file
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$zuser.def$END$
|
||
$HEADER$
|
||
LIBRARY ZSER32
|
||
|
||
DESCRIPTION 'Profiling dll for USER32.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$DATA:api$=Z$DATA:api$
|
||
$END$
|
||
$FOOTER$
|
||
;
|
||
; Private entries - not profiled
|
||
;
|
||
CallMsgFilter=ZCallMsgFilterA
|
||
;
|
||
CreateWindowExWOWA=zCreateWindowExWOWA
|
||
DialogBoxIndirectParamAorW=zDialogBoxIndirectParamAorW
|
||
DirectedYield=zDirectedYield
|
||
FreeDDEData=zFreeDDEData
|
||
GetClassWOWWords=zGetClassWOWWords
|
||
GetFullUserHandle=zGetFullUserHandle
|
||
GetMenuIndex=zGetMenuIndex
|
||
InitTask=zInitTask
|
||
MBToWCSEx=zMBToWCSEx
|
||
RegisterClassWOWA=zRegisterClassWOWA
|
||
RegisterUserHungAppHandlers=zRegisterUserHungAppHandlers
|
||
ServerCreateDialog=zServerCreateDialog
|
||
ServerLoadCreateCursorIcon=zServerLoadCreateCursorIcon
|
||
ServerLoadCreateMenu=zServerLoadCreateMenu
|
||
SetCursorContents=zSetCursorContents
|
||
ShowStartGlass=zShowStartGlass
|
||
UserRegisterWowHandlers=zUserRegisterWowHandlers
|
||
WCSToMBEx=zWCSToMBEx
|
||
WOWCleanup=zWOWCleanup
|
||
WOWFindWindow=zWOWFindWindow
|
||
WOWGetIdFromDirectory=zWOWGetIdFromDirectory
|
||
WOWLoadBitmapA=zWOWLoadBitmapA
|
||
WOWLoadCursorIcon=zWOWLoadCursorIcon
|
||
YieldTask=zYieldTask
|
||
|
||
;
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zuser.c file
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$zuser.c$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
File: Zuser.c
|
||
|
||
Profiling dll for USER32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator
|
||
|
||
--*/
|
||
#include <nt.h>
|
||
#include <ntrtl.h>
|
||
#include <nturtl.h>
|
||
#include "windows.h"
|
||
#include "dde.h"
|
||
#include "ddeml.h"
|
||
#include "zwinuser.h"
|
||
#include "api32prf.h" //Data Structures
|
||
|
||
extern BOOLEAN fInitDone;
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:USER32$$END$
|
||
$OUTPUT$zuser.c$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE$
|
||
$IFN:api:wsprintfA$$IFN:api:wsprintfW$
|
||
$DATA:type$ $DATA:routine$ Z$DATA:api$ ($IFN:params:void$$LOOP:params$$DATA:params*$ $IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$)
|
||
{
|
||
$IFN:type:void$
|
||
$DATA:type$ RetVal;
|
||
$ENDIF$
|
||
SHORT sTimerHandle;
|
||
ULONG ulElapsedTime;
|
||
|
||
if (fInitDone == FALSE) {
|
||
ApfInitDll();
|
||
}
|
||
TimerOpen(&sTimerHandle,MICROSECONDS);
|
||
TimerInit(sTimerHandle);
|
||
//
|
||
// Call the api
|
||
//
|
||
$IFN:type:void$RetVal = $ENDIF$$DATA:api$($IFN:params:void$$LOOP:params$$IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$);
|
||
//
|
||
// Get the elapsed time
|
||
//
|
||
ulElapsedTime = TimerRead(sTimerHandle);
|
||
ApfRecordInfo(I_$DATA:api$, ulElapsedTime);
|
||
TimerClose(sTimerHandle);
|
||
|
||
return$IFN:type:void$(RetVal)$ENDIF$;
|
||
}
|
||
$ENDIF$$ENDIF$
|
||
$END$
|
||
|
||
//
|
||
// A D V A P I 3 2 . D L L P r o f i l i n g f i l e s
|
||
//
|
||
|
||
$INPUT$winapi$END$ //Build the zwinadv.h file
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$zwinadv.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
zwinadv.h : header file for win32 api profiling dll for the ADVAPI32
|
||
system dll
|
||
|
||
Provides index by API name into profiling data structures.
|
||
Creates array of API names for use in dumping data.
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
$END$
|
||
$FOOTER$
|
||
|
||
#define MODULE_NAME "advapi32"
|
||
#define API_COUNT $ROWS$
|
||
#define DATA_SEM_NAME "\\BaseNamedObjects\\Advapi32DataSem"
|
||
#define DATA_SEC_NAME "\\BaseNamedObjects\\Advapi32DataSection"
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$zwinadv.h$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE
|
||
#define I_$DATA:api$ ($ROWS$-1)
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$advapi.h$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
advapi.h: Defines the list of apis for ADVAPI32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator.
|
||
|
||
--*/
|
||
#ifdef ZADVAPI32
|
||
char *aszApiNames [] = {
|
||
$END$
|
||
$TEMPLATE
|
||
"$DATA:api$",
|
||
$END$
|
||
$FOOTER
|
||
""
|
||
};
|
||
#endif
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zadvapi.def file
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$zadvapi.def$END$
|
||
$HEADER$
|
||
LIBRARY ZDVAPI32
|
||
|
||
DESCRIPTION 'Profiling dll for ADVAPI32.dll api calls'
|
||
|
||
EXPORTS
|
||
$END$
|
||
$TEMPLATE
|
||
$DATA:api$=Z$DATA:api$
|
||
$END$
|
||
$FOOTER$
|
||
; Zdll's exported utility routines
|
||
;
|
||
ApfInitDll @3001
|
||
ApfRecordInfo @3002
|
||
ApfClearData @3003
|
||
ApfDumpData @3004
|
||
ApfGetData @3005
|
||
ApfGetModuleName @3006
|
||
ApfGetApiCount @3007
|
||
$END$
|
||
|
||
$INPUT$winapi$END$ //Build the zadvapi.c file
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$zadvapi.c$END$
|
||
$HEADER$
|
||
/*++
|
||
|
||
File: Zadvapi.c
|
||
|
||
Profiling dll for ADVAPI32.dll
|
||
|
||
NOTE: This file is generated by WRAPPER code generator
|
||
|
||
--*/
|
||
#include <nt.h>
|
||
#include <ntrtl.h>
|
||
#include <nturtl.h>
|
||
#include "windows.h"
|
||
#include "zwinadv.h"
|
||
#include "api32prf.h" //Data Structures
|
||
|
||
extern BOOLEAN fInitDone;
|
||
$END$
|
||
$FOOTER$
|
||
$END$
|
||
|
||
$INPUT$winapi$END$
|
||
$SELECT$$IFE:dll:ADVAPI32$$END$
|
||
$OUTPUT$zadvapi.c$END$
|
||
$HEADER$
|
||
$END$
|
||
$TEMPLATE$
|
||
$DATA:type$ $DATA:routine$ Z$DATA:api$ ($IFN:params:void$$LOOP:params$$DATA:params*$ $IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$)
|
||
{
|
||
$IFN:type:void$
|
||
$DATA:type$ RetVal;
|
||
$ENDIF$
|
||
SHORT sTimerHandle;
|
||
ULONG ulElapsedTime;
|
||
|
||
if (fInitDone == FALSE) {
|
||
ApfInitDll();
|
||
}
|
||
TimerOpen(&sTimerHandle,MICROSECONDS);
|
||
TimerInit(sTimerHandle);
|
||
//
|
||
// Call the api
|
||
//
|
||
$IFN:type:void$RetVal = $ENDIF$$DATA:api$($IFN:params:void$$LOOP:params$$IFE:names*:$Arg$COUNT$$ELSE$$DATA:names*$$ENDIF$$ENDLOOP:,$$ENDIF$);
|
||
//
|
||
// Get the elapsed time
|
||
//
|
||
ulElapsedTime = TimerRead(sTimerHandle);
|
||
ApfRecordInfo(I_$DATA:api$, ulElapsedTime);
|
||
TimerClose(sTimerHandle);
|
||
|
||
return$IFN:type:void$(RetVal)$ENDIF$;
|
||
}
|
||
$END$
|
||
|
||
|