//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1994. // // File: tc1632.cxx // // Notes: This file is automatically generated // Do not modify by hand // // History: Fri May 27 10:39:02 1994 Generated // //---------------------------------------------------------------------------- #include #pragma hdrstop #if DBG == 1 extern "C" ULONG ThunkCall1632_count = 0; extern "C" ULONG ThunkCall1632_break = 0; #endif DWORD ThunkCall1632(THUNKINFO *pti) { DWORD dwReturn; #if DBG == 1 ULONG ulThunkCall1632_count = ++ThunkCall1632_count; thkAssert( (ThunkCall1632_count != ThunkCall1632_break) && "Break Count Hit"); #endif thkAssert(pti->pvfn != NULL); thkAssert(*pti->pThop == THOP_END); pti->pThop++; thkAssert(*pti->pThop == THOP_ROUTINEINDEX); pti->pThop++; thkDebugOut((DEB_ITRACE, "%sIn ThunkCall1632 #(%x) %p, index %d\n", NestingLevelString(), ulThunkCall1632_count, pti->pvfn, *pti->pThop)); DebugIncrementNestingLevel(); if (FAILED(pti->scResult)) { DebugDecrementNestingLevel(); thkDebugOut((DEB_ITRACE, "%sOut ThunkCall1632 #(%x) returns 0x%08lX\n", NestingLevelString(), ulThunkCall1632_count, pti->scResult)); return (DWORD)pti->scResult; } pti->pThkMgr->SetThkState(THKSTATE_NOCALL); switch(*pti->pThop) { case 0: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8) ); break; case 1: dwReturn = (*(DWORD (__stdcall *)( DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0) ); break; case 2: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12) ); break; case 3: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4) ); break; case 4: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20), *(DWORD *)(pti->s32.pbStart+24) ); break; case 5: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16) ); break; case 6: dwReturn = (*(DWORD (__stdcall *)())pti->pvfn)( ); break; case 7: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20) ); break; case 8: dwReturn = (*(DWORD (__stdcall *)( WORD, WORD, DWORD))pti->pvfn)( *(WORD *)(pti->s32.pbStart+0), *(WORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8) ); break; case 9: dwReturn = (*(DWORD (__stdcall *)( DWORD, ULARGE_INTEGER, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20) ); break; case 10: dwReturn = (*(DWORD (__stdcall *)( DWORD, ULARGE_INTEGER))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4) ); break; case 11: dwReturn = (*(DWORD (__stdcall *)( DWORD, ULARGE_INTEGER, ULARGE_INTEGER, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+20) ); break; case 12: dwReturn = (*(DWORD (__stdcall *)( DWORD, ULARGE_INTEGER, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16) ); break; case 13: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, ULARGE_INTEGER, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20) ); break; case 14: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20), *(DWORD *)(pti->s32.pbStart+24), *(DWORD *)(pti->s32.pbStart+28), *(DWORD *)(pti->s32.pbStart+32), *(DWORD *)(pti->s32.pbStart+36), *(DWORD *)(pti->s32.pbStart+40) ); break; case 15: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, SIZEL, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(SIZEL *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+20) ); break; case 16: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, SIZEL, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(SIZEL *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+16) ); break; case 17: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, WORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(WORD *)(pti->s32.pbStart+8) ); break; case 18: dwReturn = (*(DWORD (__stdcall *)( DWORD, SIZEL))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(SIZEL *)(pti->s32.pbStart+4) ); break; case 19: dwReturn = (*(DWORD (__stdcall *)( DWORD, WORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(WORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8) ); break; case 20: dwReturn = (*(DWORD (__stdcall *)( DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(DWORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20), *(DWORD *)(pti->s32.pbStart+24), *(DWORD *)(pti->s32.pbStart+28) ); break; case 21: dwReturn = (*(DWORD (__stdcall *)( DWORD, WORD, DWORD, DWORD, DWORD, DWORD, DWORD))pti->pvfn)( *(DWORD *)(pti->s32.pbStart+0), *(WORD *)(pti->s32.pbStart+4), *(DWORD *)(pti->s32.pbStart+8), *(DWORD *)(pti->s32.pbStart+12), *(DWORD *)(pti->s32.pbStart+16), *(DWORD *)(pti->s32.pbStart+20), *(DWORD *)(pti->s32.pbStart+24) ); break; } #if DBG == 1 if ( !pti->fResultThunked && FAILED(dwReturn) ) { thkDebugOut((DEB_FAILURES, "ThunkCall1632 pvfn = %08lX Probably failed hr = %08lX\n", pti->pvfn, dwReturn)); if(thkInfoLevel & DEB_DBGFAIL) thkAssert(!"Wish to Debug"); } #endif pti->pThkMgr->SetThkState(THKSTATE_INVOKETHKOUT32); DebugDecrementNestingLevel(); thkDebugOut((DEB_ITRACE, "%sOut ThunkCall1632 #(%x) returns 0x%08lX\n", NestingLevelString(), ulThunkCall1632_count, dwReturn)); return dwReturn; }