home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / dtchelp.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  8KB  |  202 lines

  1. //  Copyright (C) 1995-1999 Microsoft Corporation.  All rights reserved.
  2. /* ----------------------------------------------------------------------------
  3. Microsoft    D.T.C (Distributed Transaction Coordinator)
  4.  
  5. (c)    1996    Microsoft Corporation.    All Rights Reserved
  6.  
  7. @doc
  8.  
  9. @module        DTCHelp.h    |
  10.  
  11.             contains helper API for loading the DTCHelper DLL
  12.  
  13. -------------------------------------------------------------------------------
  14. @rev     0     | 8th -Sep-1995    |    GaganC        | Created
  15. ----------------------------------------------------------------------------- */
  16. #ifndef __DTCHELP_H__
  17. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  18. #define __DTCHELP_H__
  19.  
  20.  
  21. //---------------------------------------------------------
  22. //        ALL INCLUDE FILES GO HERE
  23. //---------------------------------------------------------
  24. #include <windows.h>
  25.  
  26.  
  27. //---------------------------------------------------------
  28. // constants / enums / typedefs / defines
  29. //---------------------------------------------------------
  30. #ifndef DEFINED_DTC_STATUS
  31. typedef enum DTC_STATUS_
  32. {
  33.     DTC_STATUS_UNKNOWN = 0,            // Status not known
  34.     DTC_STATUS_STARTING = 1,        // DTC is starting
  35.     DTC_STATUS_STARTED = 2,            // DTC has started
  36.     DTC_STATUS_PAUSING = 3,            // DTC is being paused
  37.     DTC_STATUS_PAUSED = 4,            // DTC has been paused
  38.     DTC_STATUS_CONTINUING = 5,        // DTC is being continued
  39.     DTC_STATUS_STOPPING = 6,        // DTC is stopping
  40.     DTC_STATUS_STOPPED = 7,            // DTC has stopped
  41.     DTC_STATUS_E_CANTCONTROL = 8,    // DTC cannot be controlled in its present state
  42.     DTC_STATUS_FAILED = 9            // DTC has failed.
  43. } DTC_STATUS;
  44. #define DEFINED_DTC_STATUS
  45. #endif
  46.  
  47. typedef HRESULT  (__cdecl * DTC_GET_TRANSACTION_MANAGER)(
  48.                                     /* in */ char * pszHost,
  49.                                     /* in */ char * pszTmName,
  50.                                     /* in */ REFIID rid,
  51.                                     /* in */ DWORD    dwReserved1,
  52.                                     /* in */ WORD    wcbReserved2,
  53.                                     /* in */ void FAR * pvReserved2,
  54.                                     /*out */ void** ppvObject )    ;
  55.  
  56. typedef HRESULT    ( * DTC_INSTALL_CLIENT ) ( 
  57.                                        LPTSTR i_pszRemoteTmHostName, 
  58.                                        DWORD i_dwProtocol,
  59.                                        DWORD i_dwOverwrite );
  60.  
  61. #ifndef UNICODE 
  62.  
  63. #define    GetDTCStatus                    GetDTCStatusA
  64. #define    StartDTC                        StartDTCA
  65. #define    StopDTC                            StopDTCA
  66.  
  67. #else
  68.  
  69. #define    GetDTCStatus                    GetDTCStatusW
  70. #define    StartDTC                        StartDTCW
  71. #define    StopDTC                            StopDTCW
  72.  
  73. #endif 
  74.  
  75.  
  76.  
  77. #define    DTCINSTALL_E_CLIENT_ALREADY_INSTALLED                    0x0000180L
  78.  
  79. #define    DTCINSTALL_E_SERVER_ALREADY_INSTALLED                    0x0000181L
  80.  
  81. //***** Install overwrite options
  82. const    DWORD    DTC_INSTALL_OVERWRITE_CLIENT    =    0x00000001;
  83.                                                     // first bit from right, controls client overwrite
  84.                                                     // 1=Overwrite existing client install
  85.                                                     // 0=dont overwrite existing client install
  86. const    DWORD    DTC_INSTALL_OVERWRITE_SERVER    =    0x00000002;
  87.                                                     //  second bit from right, controls server overwrite
  88.                                                     // 1=Overwrite existing server install
  89.                                                     // 0=dont overwrite existing server install
  90.  
  91. //---------------------------------------------------------
  92. //            Function Prototypes
  93. //---------------------------------------------------------
  94. EXTERN_C
  95. {
  96.     DTC_GET_TRANSACTION_MANAGER    __cdecl LoadDtcHelper (void);
  97.     HMODULE __cdecl GetDtcLocaleResourceHandle(void);
  98.  
  99.     // Function:    Initialize
  100.     // This function initialized all the function pointers needed to 
  101.     // carry out other operations supported by this static library.
  102.     // It is optional to make this call.
  103.     // Returns - S_OK if all is fine, E_FAIL other wise.
  104.     // Note: this function is not thread safe
  105.     HRESULT __cdecl Initialize (void);
  106.  
  107.     // Function:    Uninitialize
  108.     // This function unloads the dynamically loaded dlls.
  109.     // Returns - S_OK if all is fine, E_FAIL other wise.
  110.     // Note: this function is not thread safe
  111.     HRESULT __cdecl Uninitialize (void);
  112.  
  113.     // Function:    GetDTCStatusW
  114.     // Unicode version of GetDTCStatus - used to get the status of the DTC service.
  115.     // The wszHostName parameter specifies the node on which to perform the 
  116.     // operation.  On Windows 9x this parameter must be either NULL or the local
  117.     // machine name.
  118.     // Returns - the appropriate status from the enum DTC_STATUS
  119.     DTC_STATUS __cdecl GetDTCStatusW (WCHAR * wszHostName);
  120.  
  121.     // Function:    GetDTCStatusA
  122.     // Ansi version of GetDTCStatus - used to get the status of the DTC service
  123.     // The szHostName parameter specifies the node on which to perform the 
  124.     // operation.  On Windows 9x this parameter must be either NULL or the local
  125.     // machine name.
  126.     // Returns - the appropriate status from the enum DTC_STATUS
  127.     DTC_STATUS __cdecl GetDTCStatusA (LPSTR szHostName);
  128.  
  129.     // Function:    StartDTCW
  130.     // Unicode version of StartDTC - used to start the DTC service.
  131.     // If the service is already started then the following is a no-op
  132.     // The wszHostName parameter specifies the node on which to perform the 
  133.     // operation.  On Windows 9x this parameter must be either NULL or the local
  134.     // machine name.
  135.     // Returns -    S_OK if all is ok
  136.     //             E_FAIL if the operation failed for some reason.
  137.     //             E_UNEXPECTED if an unexpected error occured.
  138.     HRESULT __cdecl StartDTCW (WCHAR * wszHostName);
  139.  
  140.     // Function:    StartDTCA
  141.     // Ansi version of StartDTC - used to start the DTC service.
  142.     // If the service is already started then the following is a no-op
  143.     // The szHostName parameter specifies the node on which to perform the 
  144.     // operation.  On Windows 9x this parameter must be either NULL or the local
  145.     // machine name.
  146.     // Returns -    S_OK if all is ok
  147.     //             E_FAIL if the operation failed for some reason.
  148.     //             E_UNEXPECTED if an unexpected error occured.
  149.     HRESULT __cdecl StartDTCA (LPSTR szHostName);
  150.  
  151.     // Function:    StopDTCW
  152.     // Unicode version of StopDTC - used to stop the DTC service.
  153.     // If the service is already stopped then the following is a no-op
  154.     // The wszHostName parameter specifies the node on which to perform the 
  155.     // operation.  On Windows 9x this parameter must be either NULL or the local
  156.     // machine name.
  157.     // Returns -    S_OK if all is ok
  158.     //             E_FAIL if the operation failed for some reason.
  159.     //             E_UNEXPECTED if an unexpected error occured.
  160.     HRESULT __cdecl StopDTCW (WCHAR * wszHostName);
  161.  
  162.     // Function:    StopDTCA
  163.     // Ansi version of StopDTC - used to stop the DTC service.
  164.     // If the service is already stopped then the following is a no-op
  165.     // The szHostName parameter specifies the node on which to perform the 
  166.     // operation.  On Windows 9x this parameter must be either NULL or the local
  167.     // machine name.
  168.     // Returns -    S_OK if all is ok
  169.     //             E_FAIL if the operation failed for some reason.
  170.     //             E_UNEXPECTED if an unexpected error occured.
  171.     HRESULT __cdecl StopDTCA (LPSTR szHostName);
  172.  
  173.  
  174.     //  Function:    DtcInstallClient
  175.     //  Installs the client version of DTC.
  176.     //  Parameters:    i_pszRemoteTmHostName    - the name of the host tm,
  177.     //            i_szProt                - the protocol to use in string format
  178.     //                                    0x00000001    TCP/IP  (1)
  179.     //                                    0x00000002    SPX        (2)
  180.     //                                    0x00000004    NetBEUI    (4)
  181.     //                                        
  182.     //            i_dwOverwrite            - overwrite previous install or not?
  183.     //            DTC_INSTALL_OVERWRITE_CLIENT    =    0x00000001;
  184.                                                     // 0=Overwrite existing client install
  185.                                                     // 1=dont overwrite existing client install
  186.     //            DTC_INSTALL_OVERWRITE_SERVER    =    0x00000002;
  187.                                                     // 0=Overwrite existing server install
  188.                                                     // 1=dont overwrite existing server install
  189.     //  Returns -    S_OK if all is ok
  190.     //            E_FAIL if the operation failed for some reason
  191.     //  E_UNEXPECTED if an unexpected error occured
  192.     HRESULT __cdecl DtcInstallClient(LPTSTR i_pszRemoteTmHostName, DWORD i_dwProtocol, DWORD i_dwOverwrite);
  193. }
  194.  
  195.  
  196. //---------------------------------------------------------
  197. //            ALL ERRORS GO HERE
  198. //---------------------------------------------------------
  199.  
  200.  
  201. #pragma option pop /*P_O_Pop*/
  202. #endif __DTCHELP_H__