GLOBALS.H
上传用户:woweijixie
上传日期:2018-12-11
资源大小:131k
文件大小:8k
源码类别:

TAPI编程

开发平台:

Visual C++

  1. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  2. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  3. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright (C) 1995  Microsoft Corporation.  All Rights Reserved.
  7. //
  8. // PURPOSE:
  9. //
  10. //  Contains declarations for all globally scoped names in the program
  11. //
  12. //
  13. // Product identifier string defines
  14. //
  15. //  **TODO** Change these strings to the name of your application.
  16. #define APPNAME  TAPICOMM
  17. #define ICONFILE TAPICOMM.ICO
  18. #define SZAPPNAME "TAPICOMM"
  19. #define SZDESCRIPTION "TAPI/COMM Sample"
  20. #define SZABOUT "About TAPICOMM"
  21. #define SZVERSION "4.0"
  22. //-------------------------------------------------------------------------
  23. // Functions for handling main window messages.  The message-dispatching
  24. // mechanism expects all message-handling functions to have the following
  25. // prototype:
  26. //
  27. //     LRESULT FunctionName(HWND, UINT, WPARAM, LPARAM);
  28. // **TODO**  Add message-handling function prototypes here.  Be sure to
  29. //           add the function names to the main window message table in
  30. //           TapiComm.c.
  31. LRESULT MsgCommand   (HWND, UINT, WPARAM, LPARAM);
  32. LRESULT MsgCreate    (HWND, UINT, WPARAM, LPARAM);
  33. LRESULT MsgDestroy   (HWND, UINT, WPARAM, LPARAM);
  34. LRESULT MsgSize      (HWND, UINT, WPARAM, LPARAM);
  35. LRESULT MsgSetFocus  (HWND, UINT, WPARAM, LPARAM);
  36. LRESULT MsgTimer     (HWND, UINT, WPARAM, LPARAM);
  37. LRESULT MsgMousemove (HWND, UINT, WPARAM, LPARAM);
  38. LRESULT MsgMenuSelect(HWND, UINT, WPARAM, LPARAM);
  39. LRESULT MsgNotify    (HWND, UINT, WPARAM, LPARAM);
  40. LRESULT MsgClose     (HWND, UINT, WPARAM, LPARAM);
  41. LRESULT MsgPaint     (HWND, UINT, WPARAM, LPARAM);
  42. //-------------------------------------------------------------------------
  43. // Functions for handling main window commands--ie. functions for
  44. // processing WM_COMMAND messages based on the wParam value.
  45. // The message-dispatching mechanism expects all command-handling
  46. // functions to have the following prototype:
  47. //
  48. //     LRESULT FunctionName(HWND, WORD, WORD, HWND);
  49. // **TODO**  Add message-handling function prototypes here.  Be sure to
  50. //           add the function names to the main window command table in
  51. //           TapiComm.c.
  52. LRESULT CmdExit (HWND, WORD, WORD, HWND);
  53. LRESULT CmdAbout(HWND, WORD, WORD, HWND);
  54. LRESULT CmdStub (HWND, WORD, WORD, HWND);
  55. LRESULT CmdMakeCall   (HWND, WORD, WORD, HWND);
  56. LRESULT CmdHangupCall (HWND, WORD, WORD, HWND);
  57. //-------------------------------------------------------------------------
  58. // Global function prototypes.
  59. // **TODO**  Add global function prototypes here.
  60. BOOL InitApplication(HINSTANCE, int);
  61. BOOL CenterWindow(HWND, HWND);
  62.     // Callback functions.  These are called by Windows.
  63. // **TODO**  Add new callback function prototypes here.
  64. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  65. //-------------------------------------------------------------------------
  66. // Command ID definitions.  These definitions are used to associate menu
  67. // items with commands.
  68. // **TODO**  Add IDs for all menu commands here.  Be sure that the IDs you
  69. //           add are also added to the main window command table in TapiComm.c
  70. //           and the menu statements in the resource file.
  71. // File menu
  72. #define IDS_FILEMENU       1000
  73. #define IDM_FILENEW        1001
  74. #define IDM_FILEOPEN       1002
  75. #define IDM_FILESAVE       1003
  76. #define IDM_FILESAVEAS     1004
  77. #define IDM_FILECLOSE      1005
  78. #define IDM_FILEPRINT      1006
  79. #define IDM_FILEPAGESU     1007
  80. #define IDM_FILEPRINTSU    1008
  81. #define IDM_EXIT           1009
  82. #define IDM_MAKECALL       1010
  83. #define IDM_HANGUPCALL     1011
  84. // Edit menu
  85. #define IDS_EDITMENU       2000
  86. #define IDM_EDITUNDO       2001
  87. #define IDM_EDITCUT        2002
  88. #define IDM_EDITCOPY       2003
  89. #define IDM_EDITPASTE      2004
  90. #define IDM_EDITCLEAR      2005
  91. // Help menu
  92. #define IDS_HELPMENU       3000
  93. #define IDM_ABOUT          3001
  94. //-------------------------------------------------------------------------
  95. // String Table ID definitions.
  96. #define IDS_APPNAME     1
  97. #define IDS_DESCRIPTION 2
  98. //-------------------------------------------------------------------------
  99. //  About dialog defines.
  100. #define IDD_VERFIRST    100
  101. #define IDD_VERLAST     104
  102. // -----------------------------------------------------------------------
  103. // Global Variable declarations
  104. //
  105. extern HINSTANCE hInst;     // The current instance
  106. extern char szAppName[];    // The name of this application
  107. extern char szTitle[];      // The title bar text
  108. // **TODO**  For NON-MDI applications, uncomment line 1 below and comment
  109. //           line 2.  For MDI applications, uncomment line 2 below, comment
  110. //           line 1, and then define hwndMDIClient as a global variable in
  111. //           INIT.C
  112. #define hwndMDIClient NULL        /* (1) Stub for NON-MDI applications. */
  113. // extern HWND hwndMDIClient;     /* (2) For MDI applications.          */
  114. //-------------------------------------------------------------------------
  115. // Message and command dispatch infrastructure.  The following type
  116. // definitions and functions are used by the message and command dispatching
  117. // mechanism and do not need to be changed.
  118.     // Function pointer prototype for message handling functions.
  119. typedef LRESULT (*PFNMSG)(HWND,UINT,WPARAM,LPARAM);
  120.     // Function pointer prototype for command handling functions.
  121. typedef LRESULT (*PFNCMD)(HWND,WORD,WORD,HWND);
  122.     // Enumerated type used to determine which default window procedure
  123.     // should be called by the message- and command-dispatching mechanism
  124.     // if a message or command is not handled explicitly.
  125. typedef enum
  126. {
  127.    edwpNone,            // Do not call any default procedure.
  128.    edwpWindow,          // Call DefWindowProc.
  129.    edwpDialog,          // Call DefDlgProc (This should be used only for
  130.                         // custom dialogs - standard dialog use edwpNone).
  131.    edwpMDIChild,        // Call DefMDIChildProc.
  132.    edwpMDIFrame         // Call DefFrameProc.
  133. } EDWP;                // Enumeration for Default Window Procedures
  134.     // This structure maps messages to message handling functions.
  135. typedef struct _MSD
  136. {
  137.     UINT   uMessage;
  138.     PFNMSG pfnmsg;
  139. } MSD;                 // MeSsage Dispatch structure
  140.     // This structure contains all of the information that a window
  141.     // procedure passes to DispMessage in order to define the message
  142.     // dispatching behavior for the window.
  143. typedef struct _MSDI
  144. {
  145.     int  cmsd;          // Number of message dispatch structs in rgmsd
  146.     MSD *rgmsd;         // Table of message dispatch structures
  147.     EDWP edwp;          // Type of default window handler needed.
  148. } MSDI, FAR *LPMSDI;   // MeSsage Dipatch Information
  149.     // This structure maps command IDs to command handling functions.
  150. typedef struct _CMD
  151. {
  152.     WORD   wCommand;
  153.     PFNCMD pfncmd;
  154. } CMD;                 // CoMmand Dispatch structure
  155.     // This structure contains all of the information that a command
  156.     // message procedure passes to DispCommand in order to define the
  157.     // command dispatching behavior for the window.
  158. typedef struct _CMDI
  159. {
  160.     int  ccmd;          // Number of command dispatch structs in rgcmd
  161.     CMD *rgcmd;         // Table of command dispatch structures
  162.     EDWP edwp;          // Type of default window handler needed.
  163. } CMDI, FAR *LPCMDI;   // CoMmand Dispatch Information
  164.     // Message and command dispatching functions.  They look up messages
  165.     // and commands in the dispatch tables and call the appropriate handler
  166.     // function.
  167. LRESULT DispMessage(LPMSDI, HWND, UINT, WPARAM, LPARAM);
  168. LRESULT DispCommand(LPCMDI, HWND, WPARAM, LPARAM);
  169.     // Message dispatch information for the main window
  170. extern MSDI msdiMain;
  171.     // Command dispatch information for the main window
  172. extern CMDI cmdiMain;
  173. #define SZRCOMPANYNAME "CompanyName"
  174. #define SZRDESCRIPTION "FileDescription"
  175. #define SZRVERSION     "FileVersion"
  176. #define SZRAPPNAME     "InternalName"
  177. #define SZRCOPYRIGHT   "LegalCopyright"
  178. #define SZRTRADEMARK   "LegalTrademarks"
  179. #define SZRPRODNAME    "ProductName"
  180. #define SZRPRODVER     "ProuctVersion"