SERVER.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*+==========================================================================
  2.   File:      SERVER.H
  3.   Summary:   Internal include file for the LOCSERVE.DLL server code
  4.              sample.  Contains class declarations, resource IDs and string
  5.              macros for internal use in constructing this EXE as a local
  6.              COM component server.  Declares the CServer server control
  7.              object class.
  8.              For a comprehensive tutorial code tour of this module's
  9.              contents and offerings see the tutorial LOCSERVE.HTM file.
  10.              For more specific technical details on the internal workings
  11.              see the comments dispersed throughout the module's source code.
  12.   Classes:   CServer.
  13.   Functions: none
  14.   Origin:    8-29-97: atrent - Editor-inheritance from SERVER.H in
  15.                the DLLSERVE Tutorial Code Sample. [Revised]
  16. ----------------------------------------------------------------------------
  17.   This file is part of the Microsoft COM Tutorial Code Samples.
  18.   Copyright (C) Microsoft Corporation, 1997.  All rights reserved.
  19.   This source code is intended only as a supplement to Microsoft
  20.   Development Tools and/or on-line documentation.  See these other
  21.   materials for detailed information regarding Microsoft code samples.
  22.   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  23.   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  24.   IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  25.   PARTICULAR PURPOSE.
  26. ==========================================================================+*/
  27. #if !defined(SERVER_H)
  28. #define SERVER_H
  29. #ifdef __cplusplus
  30. /*C+C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C
  31.   Class:    CServer
  32.   Summary:  Class to encapsulate control of this COM server (eg, handle
  33.             Lock and Object counting, encapsulate otherwise global data).
  34.   Methods:  none
  35. C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C-C*/
  36. class CServer
  37. {
  38.   public:
  39.     CServer(void);
  40.     ~CServer(void);
  41.     void Lock(void);
  42.     void Unlock(void);
  43.     void ObjectsUp(void);
  44.     void ObjectsDown(void);
  45.     BOOL OpenFactories(void);
  46.     BOOL CloseFactories(void);
  47.     // A place to store the server's instance handle.
  48.     HINSTANCE m_hInstServer;
  49.     // A place to store the server's main window.
  50.     HWND m_hWndServer;
  51.     // Global Server living Object count.
  52.     LONG m_cObjects;
  53.     // Global Server Client Lock count.
  54.     LONG m_cLocks;
  55.     // Some member variables to store pointers to Class Factories.
  56.     IUnknown* m_pCFCar;
  57.     IUnknown* m_pCFUtilityCar;
  58.     IUnknown* m_pCFCruiseCar;
  59.     // Some member variables to store Class Factory registration keys.
  60.     DWORD m_dwCFCar;
  61.     DWORD m_dwCFUtilityCar;
  62.     DWORD m_dwCFCruiseCar;
  63. };
  64. #endif // __cplusplus
  65. // Allow other internal LOCSERVE modules to get at the globals.
  66. extern CServer*  g_pServer;
  67. extern CSendLog* g_pMsgLog;
  68. #endif // SERVER_H