keybode

GetInterface (Source Engine)

Jan 9th, 2014
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. void* GetInterface( DWORD_PTR dwModule, const char* lpInterfaceName )
  2. {
  3.     CreateInterfaceFn   CreateInterface = ( CreateInterfaceFn )Memory::GetProcAddressHash( dwModule, CREATE_INTERFACE_HASH );
  4.     PVOID               lpReturn        = NULL;
  5.     UINT                i;
  6.        
  7.     if( !CreateInterface )
  8.         return NULL;
  9.  
  10.     for( i = 0; i < 999; i++ )
  11.     {
  12.         char lpCurrent[ 1024 ];
  13.  
  14.         if( i >= 100 )
  15.             sprintf( lpCurrent, "%s%i", lpInterfaceName, i );
  16.         else if( i >= 10 )
  17.             sprintf( lpCurrent, "%s0%i", lpInterfaceName, i );
  18.         else
  19.             sprintf( lpCurrent, "%s00%i", lpInterfaceName, i );
  20.  
  21.         lpReturn = ( PVOID )CreateInterface( lpCurrent, NULL );
  22.  
  23.         if( lpReturn )
  24.             break;
  25.     }
  26.  
  27.     return lpReturn;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment