SAMPLE: Desiging DLLs for Multiple Client Applications

Last reviewed: February 15, 1996
Article ID: Q103210
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows, version 3.1

Designing DLLs for Multiple Client Applications, Part 2: Implementation

David Long Microsoft Developer Network Technology Group

Created: April 21, 1993

Abstract

This is a companion article to "Designing DLLs for Multiple Client Applications, Part 1: Strategy," also available on the Microsoft Developer Network CD. That article discusses various strategies for allowing Microsoft Windows dynamic-link libraries (DLLs) to provide services to multiple client applications.

This article describes how the associated Grocery Shopper sample application implements some of the client-server strategies described in Part 1. It begins with an overview of the sample application's architecture, and then proceeds to analyze how the application programming interface (API) is implemented, how the DLL manages multiple clients, and how information hiding is enforced. Among the features of the sample code are registration and unregistration APIs, enumeration callbacks, delayed resource allocation, and custom event-notification messages.

Download DLLSTRT2.EXE, a self-extracting file, from the Microsoft Software Library (MSL) on the following services:

  • Microsoft Download Service (MSDL)

          Dial (206) 936-6735 to connect to MSDL
          Download DLLSTRT2.EXE (size: 37403 bytes) 
    
  • Internet (anonymous FTP)

          ftp ftp.microsoft.com
          Change to the \SOFTLIB\MSLFILES directory
          Get DLLSTRT2.EXE (size: 37403 bytes) 
    


Additional reference words: 3.10 softlib DLLSTRT2.EXE
KBCategory: kbprg kbfile
KBSubcategory: KrDll


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 15, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.