Ignore:
Timestamp:
Apr 20, 2008, 12:13:43 PM (17 years ago)
Author:
bird
Message:

Made it (winapi wrapping) work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kProfiler2/kPrf2WinApiWrappers-kernel32.h

    r11 r13  
    91889188}
    91899189
     9190typedef VOID NTAPI FN_RtlUnwindEx( FRAME_POINTERS TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable );
     9191__declspec(dllexport) VOID NTAPI kPrf2Wrap_RtlUnwindEx( FRAME_POINTERS TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable )
     9192{
     9193    static FN_RtlUnwindEx *pfn = 0;
     9194    if (!pfn)
     9195        kPrf2WrapResolve((void **)&pfn, "RtlUnwindEx", &g_Kernel32);
     9196    pfn( TargetFrame, TargetIp, ExceptionRecord, ReturnValue, ContextRecord, HistoryTable );
     9197}
     9198
     9199typedef ULONGLONG WINAPI FN_RtlVirtualUnwind( ULONG HandlerType, ULONGLONG ImageBase, ULONGLONG ControlPC, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PBOOLEAN InFunction, PFRAME_POINTERS EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers );
     9200__declspec(dllexport) ULONGLONG WINAPI kPrf2Wrap_RtlVirtualUnwind( ULONG HandlerType, ULONGLONG ImageBase, ULONGLONG ControlPC, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PBOOLEAN InFunction, PFRAME_POINTERS EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers )
     9201{
     9202    static FN_RtlVirtualUnwind *pfn = 0;
     9203    if (!pfn)
     9204        kPrf2WrapResolve((void **)&pfn, "RtlVirtualUnwind", &g_Kernel32);
     9205    return pfn( HandlerType, ImageBase, ControlPC, FunctionEntry, ContextRecord, InFunction, EstablisherFrame, ContextPointers );
     9206}
     9207
     9208typedef PVOID WINAPI FN_RtlPcToFileHeader( PVOID PcValue, PVOID * BaseOfImage );
     9209__declspec(dllexport) PVOID WINAPI kPrf2Wrap_RtlPcToFileHeader( PVOID PcValue, PVOID * BaseOfImage )
     9210{
     9211    static FN_RtlPcToFileHeader *pfn = 0;
     9212    if (!pfn)
     9213        kPrf2WrapResolve((void **)&pfn, "RtlPcToFileHeader", &g_Kernel32);
     9214    return pfn( PcValue, BaseOfImage );
     9215}
     9216
     9217typedef PVOID WINAPI FN_RtlLookupFunctionEntry( ULONGLONG ControlPC, PULONGLONG ImageBase, PULONGLONG TargetGp );
     9218__declspec(dllexport) PVOID WINAPI kPrf2Wrap_RtlLookupFunctionEntry( ULONGLONG ControlPC, PULONGLONG ImageBase, PULONGLONG TargetGp )
     9219{
     9220    static FN_RtlLookupFunctionEntry *pfn = 0;
     9221    if (!pfn)
     9222        kPrf2WrapResolve((void **)&pfn, "RtlLookupFunctionEntry", &g_Kernel32);
     9223    return pfn( ControlPC, ImageBase, TargetGp );
     9224}
     9225
     9226typedef void WINAPI FN_RtlRaiseException(PEXCEPTION_RECORD pXcpRec);
     9227__declspec(dllexport) void WINAPI kPrf2Wrap_RtlRaiseException(PEXCEPTION_RECORD pXcpRec)
     9228{
     9229    static FN_RtlRaiseException *pfn = 0;
     9230    if (!pfn)
     9231        kPrf2WrapResolve((void **)&pfn, "RtlRaiseException", &g_Kernel32);
     9232    pfn( pXcpRec);
     9233}
     9234
    91909235typedef int WINAPI FN_uaw_lstrcmpW( LPCUWSTR lpString1, LPCUWSTR lpString2 );
    91919236__declspec(dllexport) int WINAPI kPrf2Wrap_uaw_lstrcmpW( LPCUWSTR lpString1, LPCUWSTR lpString2 )
Note: See TracChangeset for help on using the changeset viewer.