home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c495 / 5.ddi / WATCM955.ARJ / DLL.SDK / GEN16.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-16  |  1.0 KB  |  47 lines

  1. /*
  2.  *  GEN16.C
  3.  *
  4.  *  Compile:    wcc gen16 /zw
  5.  *  Link:    wlink @gen16
  6.  */
  7. #include <windows.h>
  8. #include <stdio.h>
  9.  
  10. extern char end;
  11. extern int _curbrk;
  12. #define DLL_1 1
  13. #define DLL_2 2
  14. #define DLL_3 3
  15.  
  16. typedef long (FAR PASCAL *FARPROC2)();
  17.  
  18. int PASCAL WinMain( HANDLE hInstance,
  19.             HANDLE hPrevInstance,
  20.             LPSTR lpCmdLine,
  21.             int nCmdShow )
  22. {
  23.   HANDLE hlib;
  24.   FARPROC2 fp;
  25.   DWORD cb;
  26.   char buf[128];
  27.  
  28.   hlib = LoadLibrary( "dll32.dll" );
  29.   fp = (FARPROC2) GetProcAddress( hlib, "Win386LibEntry" );
  30.  
  31.   cb = fp( 0x666, 0x77777111, 0x6969, DLL_1 );
  32.   sprintf( buf, "RC1 = %lx", cb );
  33.   MessageBox( NULL, buf, "Gen16", MB_OK | MB_TASKMODAL );
  34.  
  35.   cb = fp( 0x12345678, 0x8888, DLL_2 );
  36.   sprintf( buf, "RC2 = %lx", cb );
  37.   MessageBox( NULL, buf, "Gen16", MB_OK | MB_TASKMODAL );
  38.  
  39.   cb = fp( (char far *) "A Test String", 1, 2 , 0xabcddcba, 3,
  40.           0x12344321, DLL_3 );
  41.   sprintf( buf, "RC3 = %lx", cb );
  42.   MessageBox( NULL, buf, "Gen16", MB_OK | MB_TASKMODAL );
  43.   FreeLibrary( hlib );
  44.  
  45.   return( 0 );
  46. }
  47.