home *** CD-ROM | disk | FTP | other *** search
- // Copyright (C) 1995-1999 Microsoft Corporation. All rights reserved.
- /* ----------------------------------------------------------------------------
- Microsoft D.T.C (Distributed Transaction Coordinator)
-
- (c) 1996 Microsoft Corporation. All Rights Reserved
-
- @doc
-
- @module DTCHelp.h |
-
- contains helper API for loading the DTCHelper DLL
-
- -------------------------------------------------------------------------------
- @rev 0 | 8th -Sep-1995 | GaganC | Created
- ----------------------------------------------------------------------------- */
- #ifndef __DTCHELP_H__
- #pragma option push -b -a8 -pc -A- /*P_O_Push*/
- #define __DTCHELP_H__
-
-
- //---------------------------------------------------------
- // ALL INCLUDE FILES GO HERE
- //---------------------------------------------------------
- #include <windows.h>
-
-
- //---------------------------------------------------------
- // constants / enums / typedefs / defines
- //---------------------------------------------------------
- #ifndef DEFINED_DTC_STATUS
- typedef enum DTC_STATUS_
- {
- DTC_STATUS_UNKNOWN = 0, // Status not known
- DTC_STATUS_STARTING = 1, // DTC is starting
- DTC_STATUS_STARTED = 2, // DTC has started
- DTC_STATUS_PAUSING = 3, // DTC is being paused
- DTC_STATUS_PAUSED = 4, // DTC has been paused
- DTC_STATUS_CONTINUING = 5, // DTC is being continued
- DTC_STATUS_STOPPING = 6, // DTC is stopping
- DTC_STATUS_STOPPED = 7, // DTC has stopped
- DTC_STATUS_E_CANTCONTROL = 8, // DTC cannot be controlled in its present state
- DTC_STATUS_FAILED = 9 // DTC has failed.
- } DTC_STATUS;
- #define DEFINED_DTC_STATUS
- #endif
-
- typedef HRESULT (__cdecl * DTC_GET_TRANSACTION_MANAGER)(
- /* in */ char * pszHost,
- /* in */ char * pszTmName,
- /* in */ REFIID rid,
- /* in */ DWORD dwReserved1,
- /* in */ WORD wcbReserved2,
- /* in */ void FAR * pvReserved2,
- /*out */ void** ppvObject ) ;
-
- typedef HRESULT ( * DTC_INSTALL_CLIENT ) (
- LPTSTR i_pszRemoteTmHostName,
- DWORD i_dwProtocol,
- DWORD i_dwOverwrite );
-
- #ifndef UNICODE
-
- #define GetDTCStatus GetDTCStatusA
- #define StartDTC StartDTCA
- #define StopDTC StopDTCA
-
- #else
-
- #define GetDTCStatus GetDTCStatusW
- #define StartDTC StartDTCW
- #define StopDTC StopDTCW
-
- #endif
-
-
-
- #define DTCINSTALL_E_CLIENT_ALREADY_INSTALLED 0x0000180L
-
- #define DTCINSTALL_E_SERVER_ALREADY_INSTALLED 0x0000181L
-
- //***** Install overwrite options
- const DWORD DTC_INSTALL_OVERWRITE_CLIENT = 0x00000001;
- // first bit from right, controls client overwrite
- // 1=Overwrite existing client install
- // 0=dont overwrite existing client install
- const DWORD DTC_INSTALL_OVERWRITE_SERVER = 0x00000002;
- // second bit from right, controls server overwrite
- // 1=Overwrite existing server install
- // 0=dont overwrite existing server install
-
- //---------------------------------------------------------
- // Function Prototypes
- //---------------------------------------------------------
- EXTERN_C
- {
- DTC_GET_TRANSACTION_MANAGER __cdecl LoadDtcHelper (void);
- HMODULE __cdecl GetDtcLocaleResourceHandle(void);
-
- // Function: Initialize
- // This function initialized all the function pointers needed to
- // carry out other operations supported by this static library.
- // It is optional to make this call.
- // Returns - S_OK if all is fine, E_FAIL other wise.
- // Note: this function is not thread safe
- HRESULT __cdecl Initialize (void);
-
- // Function: Uninitialize
- // This function unloads the dynamically loaded dlls.
- // Returns - S_OK if all is fine, E_FAIL other wise.
- // Note: this function is not thread safe
- HRESULT __cdecl Uninitialize (void);
-
- // Function: GetDTCStatusW
- // Unicode version of GetDTCStatus - used to get the status of the DTC service.
- // The wszHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - the appropriate status from the enum DTC_STATUS
- DTC_STATUS __cdecl GetDTCStatusW (WCHAR * wszHostName);
-
- // Function: GetDTCStatusA
- // Ansi version of GetDTCStatus - used to get the status of the DTC service
- // The szHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - the appropriate status from the enum DTC_STATUS
- DTC_STATUS __cdecl GetDTCStatusA (LPSTR szHostName);
-
- // Function: StartDTCW
- // Unicode version of StartDTC - used to start the DTC service.
- // If the service is already started then the following is a no-op
- // The wszHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - S_OK if all is ok
- // E_FAIL if the operation failed for some reason.
- // E_UNEXPECTED if an unexpected error occured.
- HRESULT __cdecl StartDTCW (WCHAR * wszHostName);
-
- // Function: StartDTCA
- // Ansi version of StartDTC - used to start the DTC service.
- // If the service is already started then the following is a no-op
- // The szHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - S_OK if all is ok
- // E_FAIL if the operation failed for some reason.
- // E_UNEXPECTED if an unexpected error occured.
- HRESULT __cdecl StartDTCA (LPSTR szHostName);
-
- // Function: StopDTCW
- // Unicode version of StopDTC - used to stop the DTC service.
- // If the service is already stopped then the following is a no-op
- // The wszHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - S_OK if all is ok
- // E_FAIL if the operation failed for some reason.
- // E_UNEXPECTED if an unexpected error occured.
- HRESULT __cdecl StopDTCW (WCHAR * wszHostName);
-
- // Function: StopDTCA
- // Ansi version of StopDTC - used to stop the DTC service.
- // If the service is already stopped then the following is a no-op
- // The szHostName parameter specifies the node on which to perform the
- // operation. On Windows 9x this parameter must be either NULL or the local
- // machine name.
- // Returns - S_OK if all is ok
- // E_FAIL if the operation failed for some reason.
- // E_UNEXPECTED if an unexpected error occured.
- HRESULT __cdecl StopDTCA (LPSTR szHostName);
-
-
- // Function: DtcInstallClient
- // Installs the client version of DTC.
- // Parameters: i_pszRemoteTmHostName - the name of the host tm,
- // i_szProt - the protocol to use in string format
- // 0x00000001 TCP/IP (1)
- // 0x00000002 SPX (2)
- // 0x00000004 NetBEUI (4)
- //
- // i_dwOverwrite - overwrite previous install or not?
- // DTC_INSTALL_OVERWRITE_CLIENT = 0x00000001;
- // 0=Overwrite existing client install
- // 1=dont overwrite existing client install
- // DTC_INSTALL_OVERWRITE_SERVER = 0x00000002;
- // 0=Overwrite existing server install
- // 1=dont overwrite existing server install
- // Returns - S_OK if all is ok
- // E_FAIL if the operation failed for some reason
- // E_UNEXPECTED if an unexpected error occured
- HRESULT __cdecl DtcInstallClient(LPTSTR i_pszRemoteTmHostName, DWORD i_dwProtocol, DWORD i_dwOverwrite);
- }
-
-
- //---------------------------------------------------------
- // ALL ERRORS GO HERE
- //---------------------------------------------------------
-
-
- #pragma option pop /*P_O_Pop*/
- #endif __DTCHELP_H__