Annotation of q_a/samples/resdll/readme.txt, revision 1.1.1.1

1.1       root        1:  Sample: Creating Resource-Only DLLs
                      2: 
                      3: Summary:
                      4: 
                      5: The RESDLL sample shows how to create a resource-only
                      6: dynamic link library (DLL). In short, this is accomplished
                      7: by creating and resource-compiling a resource (.RC) file,
                      8: creating and compiling a source code (.C) file containing
                      9: a simple DLL entry point, and then linking the resulting
                     10: .RBJ and .OBJ files with the appropriate libraries to
                     11: create the DLL.
                     12: 
                     13: The MAIN.EXE program tests THE_DLL.DLL by loading it and
                     14: referencing the DLL's icon, cursor, and bitmap. The icon
                     15: and cursor are used by the registered window class, and
                     16: the bitmap is used in painting the client area.
                     17: 
                     18: More information:
                     19: 
                     20: In the preliminary release of Windows NT (July 1992) specifying
                     21: a DLL entry point for a resource-only DLL was not mandatory,
                     22: and the version of this sample included with the preliminary SDK
                     23: did not contain a DLL entry point.
                     24: 
                     25: This has changed with the Beta release of Windows NT however,
                     26: and resource-only DLLs are required to have an entry point.
                     27: What follows is a very simple .C file and an updated MAKEFILE
                     28: which can be cut out and used with the existing files to
                     29: create valid .EXE & .DLL files:
                     30: 
                     31: 
                     32:                             snip!  (THE_DLL.C)
                     33:                         o /
                     34:   -----------------------x----------------------------------------------------
                     35:                         o \
                     36: 
                     37: 
                     38:   /**************************************************************************\
                     39:   *
                     40:   *  MODULE:      THE_DLL.C
                     41:   *
                     42:   *  PURPOSE:     To provide the required (simple) entry point for a resource-
                     43:   *               only DLL.
                     44:   *
                     45:   *  FUNCTIONS:   DLLEntryPoint() - DLL entry point
                     46:   *
                     47:   *                           Microsoft Developer Support
                     48:   *                     Copyright (c) 1992 Microsoft Corporation
                     49:   *
                     50:   \**************************************************************************/
                     51: 
                     52:   #include <windows.h>
                     53: 
                     54: 
                     55: 
                     56:   /**************************************************************************\
                     57:   *
                     58:   *  FUNCTION:    DLLEntryPoint
                     59:   *
                     60:   *  INPUTS:      hDLL       - handle of DLL
                     61:   *               dwReason   - indicates why DLL called
                     62:   *               lpReserved - reserved
                     63:   *
                     64:   *  RETURNS:     TRUE (always, in this example.)
                     65:   *
                     66:   *               Note that the retuRn value is used only when
                     67:   *               dwReason = DLL_PROCESS_ATTACH.
                     68:   *
                     69:   *               Normally the function would return TRUE if DLL initial-
                     70:   *               ization succeeded, or FALSE it it failed.
                     71:   *
                     72:   \**************************************************************************/
                     73: 
                     74:   BOOL WINAPI DLLEntryPoint (HANDLE hDLL, DWORD dwReason, LPVOID lpReserved)
                     75:   {
                     76:     return TRUE;
                     77:   }
                     78: 
                     79: 
                     80:                             snip! (updated MAKEFILE)
                     81:                         o /
                     82:   -----------------------x----------------------------------------------------
                     83:                         o \
                     84: 
                     85:   !include <ntwin32.mak>
                     86: 
                     87:   all: main.exe the_dll.dll
                     88: 
                     89:   main.obj: main.c
                     90:       $(cc) $(cdebug) $(cflags) $(cvars) main.c
                     91: 
                     92:   the_dll.obj: the_dll.c
                     93:       $(cc) $(cdebug) $(cflags) $(cvars) the_dll.c
                     94: 
                     95:   the_dll.rbj: the_dll.rc the_dll.bmp the_dll.cur the_dll.ico
                     96:       rc -r -fo the_dll.res the_dll.rc
                     97:       cvtres -$(CPU) the_dll.res -o the_dll.rbj
                     98: 
                     99:   the_dll.dll: the_dll.def the_dll.rbj the_dll.obj
                    100:       $(link) $(linkdebug) \
                    101:       -base:0x1C000000     \
                    102:       -dll                 \
                    103:       -entry:DLLEntryPoint$(DLLENTRY) \
                    104:       -out:the_dll.dll     \
                    105:       the_dll.rbj the_dll.obj $(guilibs)
                    106: 
                    107:   main.exe: main.obj main.def
                    108:       $(cvtobj) $(cvtdebug) *.obj
                    109:       $(link) $(linkdebug) $(guiflags) -out:main.exe main.obj $(guilibs)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.