home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / WPSPI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  8.4 KB  |  336 lines

  1. /*****************************************************************/
  2. /**               Microsoft Windows 4.00                        **/
  3. /**           Copyright (C) Microsoft Corp., 1995-1996          **/
  4. /*****************************************************************/
  5.  
  6. /* WPSPI.H -- WebPost Provider Interface definitions
  7.  *
  8.  */
  9.  
  10.  
  11. #ifndef _wpspi_h_
  12. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  13. #define _wpspi_h_
  14. #pragma option push -b
  15.  
  16.  
  17. # if !defined( dllexp)
  18. #define dllexp __declspec( dllexport )
  19. # endif // dllexp
  20.  
  21. //
  22. // Assume packing on DWORD boundary
  23. //
  24.  
  25. #include <pshpack4.h>
  26.  
  27.  
  28. //
  29. // Insert OLE defines
  30. //
  31.  
  32. #define     _INC_OLE
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {            /* Assume C declarations for C++ */
  36. #endif  /* __cplusplus */
  37.  
  38.  
  39. #include <ole2.h>
  40.  
  41.  
  42. #include <shlobj.h>
  43.  
  44.  
  45.  
  46. #include <windowsx.h>
  47.  
  48.  
  49. #include <commctrl.h>
  50.  
  51.  
  52. #ifdef __cplusplus
  53. }       /* end "C" */
  54. #endif  /* __cplusplus */
  55.  
  56.  
  57. #include <wpguid.h>
  58.  
  59.  
  60. // Dialog ID for Provider's pages should be between the following
  61. #define IDD_WEBPOST_PROVIDER_FIRST        9000
  62. #define IDD_WEBPOST_PROVIDER_LAST        9999
  63.  
  64. #define WPCP_HOMEPAGEURL            TEXT("HomePageURL")
  65. #define WPCP_BASEURL                TEXT("BaseURL")
  66. #define WPCP_BASEPATH                TEXT("BasePath")
  67.  
  68.  
  69. /************************************************************************
  70.  
  71. IWPProvider interface
  72.  
  73. ************************************************************************/
  74.  
  75. DECLARE_INTERFACE_(IWPProvider, IUnknown)
  76. {
  77.     // *** IUnknown methods ***
  78.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  79.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  80.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  81.  
  82.     // *** Specific functions ***
  83. };
  84.  
  85.  
  86. #ifndef UNICODE
  87. #define IWPSite        IWPSiteA
  88. #else
  89. #define IWPSite        IWPSiteW
  90. #endif
  91.  
  92. /************************************************************************
  93.  
  94. IWPSite interface
  95.  
  96. ************************************************************************/
  97.  
  98. DECLARE_INTERFACE_(IWPSiteA, IUnknown)
  99. {
  100.     // *** IUnknown methods ***
  101.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  102.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  103.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  104.  
  105.     // *** Specific functions ***
  106.     STDMETHOD(GetSiteInfo) (THIS_ 
  107.                             LPWPSITEINFOA lpSiteInfo, 
  108.                             LPDWORD lpcbSiteInfo) PURE;
  109.     STDMETHOD(NetworkConnect) (THIS_ 
  110.                                 LPCSTR lpszUserName, 
  111.                                 LPCSTR lpszPassword) PURE;
  112.     STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
  113.     STDMETHOD(ServerLogin) (THIS_ 
  114.                             LPCSTR lpszUserName, 
  115.                             LPCSTR lpszPassword) PURE;
  116.     STDMETHOD(ServerLogout) (THIS_ ) PURE;
  117.     STDMETHOD(PostFiles) (THIS_ 
  118.                             DWORD     cLocalPaths, 
  119.                             LPSTR     *lppszLocalPaths, 
  120.                             LPDWORD    lpcbURL,
  121.                             LPSTR    lpszURL,
  122.                             DWORD     dwFlag) PURE;
  123.     STDMETHOD(DeleteFile) (THIS_
  124.                             LPCSTR    lpszFile) PURE;
  125.     STDMETHOD(FindFirstFile) (THIS_
  126.                                 LPCSTR lpszSearchFile,
  127.                                 LPWIN32_FIND_DATAA lpFindFileData,
  128.                                 LPHANDLE lpSearchHandle) PURE;
  129.     STDMETHOD(FindNextFile) (THIS_
  130.                                 HANDLE hSearchHandle,
  131.                                 LPWIN32_FIND_DATAA lpFindFileData) PURE;
  132.     STDMETHOD(FindClose) (THIS_
  133.                             HANDLE hSearchHandle) PURE;    
  134.     STDMETHOD(Commit) (THIS_ ) PURE;
  135.     STDMETHOD(GetParam) (THIS_ 
  136.                             LPCSTR     lpszParameter,
  137.                             LPDWORD    lpcchValue,
  138.                             LPSTR    lpszValue) PURE;
  139.     STDMETHOD(SetParam) (THIS_ 
  140.                             LPCSTR    lpszParameter,
  141.                             LPCSTR    lpszValue) PURE;
  142.     STDMETHOD(GetError) (THIS_ 
  143.                             LPDWORD    lpdwErrorType,
  144.                             LPDWORD    lpdwErrorCode,
  145.                             LPDWORD    lpcbError,
  146.                             LPSTR    lpszError) PURE;
  147.     STDMETHOD(AddWizardPages) (THIS_ 
  148.                                 LPVOID lpv,
  149.                                 LPFNADDPROPSHEETPAGE lpfnAdd, 
  150.                                 LPARAM lParam) PURE;
  151. };
  152.  
  153.  
  154. DECLARE_INTERFACE_(IWPSiteW, IUnknown)
  155. {
  156.     // *** IUnknown methods ***
  157.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  158.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  159.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  160.  
  161.     // *** Specific functions ***
  162.     STDMETHOD(GetSiteInfo) (THIS_ 
  163.                             LPWPSITEINFOW lpSiteInfo, 
  164.                             LPDWORD lpcbSiteInfo) PURE;
  165.     STDMETHOD(NetworkConnect) (THIS_ 
  166.                                 LPCWSTR lpszUserName, 
  167.                                 LPCWSTR lpszPassword) PURE;
  168.     STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
  169.     STDMETHOD(ServerLogin) (THIS_ 
  170.                             LPCWSTR lpszUserName, 
  171.                             LPCWSTR lpszPassword) PURE;
  172.     STDMETHOD(ServerLogout) (THIS_ ) PURE;
  173.     STDMETHOD(PostFiles) (THIS_ 
  174.                             DWORD     cLocalPaths, 
  175.                             LPWSTR     *lppszLocalPaths, 
  176.                             LPDWORD    lpcbURL,
  177.                             LPWSTR    lpszURL,
  178.                             DWORD     dwFlag) PURE;
  179.     STDMETHOD(DeleteFile) (THIS_
  180.                             LPCWSTR    lpszFile) PURE;
  181.     STDMETHOD(FindFirstFile) (THIS_
  182.                                 LPCWSTR lpszSearchFile,
  183.                                 LPWIN32_FIND_DATAW lpFindFileData,
  184.                                 LPHANDLE lpSearchHandle) PURE;
  185.     STDMETHOD(FindNextFile) (THIS_
  186.                                 HANDLE hSearchHandle,
  187.                                 LPWIN32_FIND_DATAW lpFindFileData) PURE;
  188.     STDMETHOD(FindClose) (THIS_
  189.                             HANDLE hSearchHandle) PURE;    
  190.     STDMETHOD(Commit) (THIS_ ) PURE;
  191.     STDMETHOD(GetParam) (THIS_ 
  192.                             LPCWSTR     lpszParameter,
  193.                             LPDWORD    lpcchValue,
  194.                             LPWSTR    lpszValue) PURE;
  195.     STDMETHOD(SetParam) (THIS_ 
  196.                             LPCWSTR    lpszParameter,
  197.                             LPCWSTR    lpszValue) PURE;
  198.     STDMETHOD(GetError) (THIS_ 
  199.                             LPDWORD    lpdwErrorType,
  200.                             LPDWORD    lpdwErrorCode,
  201.                             LPDWORD    lpcbError,
  202.                             LPWSTR    lpszError) PURE;
  203.     STDMETHOD(AddWizardPages) (THIS_ 
  204.                                 LPVOID lpv,
  205.                                 LPFNADDPROPSHEETPAGE lpfnAdd, 
  206.                                 LPARAM lParam) PURE;
  207. };
  208.  
  209.  
  210. /************************************************************************
  211.  
  212. Global APIs
  213.  
  214. ************************************************************************/
  215.  
  216. #ifndef UNICODE
  217. #define     WPPBINDTOSITE_EP_NAME    "WppBindToSiteA"
  218. #define     WPPLISTSITES_EP_NAME    "WppListSitesA"
  219. #define     WPPDELETESITE_EP_NAME    "WppDeleteSiteA"
  220. #define        WppBindToSite            WppBindToSiteA
  221. #define        WppListSites            WppListSitesA
  222. #define     WppDeleteSite            WppDeleteSiteA
  223. #define        PFN_WPPBINDTOSITE        PFN_WPPBINDTOSITEA
  224. #define        PFN_WPPLISTSITES        PFN_WPPLISTSITESA
  225. #define        PFN_WPPDELETESITE        PFN_WPPDELETESITEA
  226.  
  227. #else
  228. #define     WPPBINDTOSITE_EP_NAME    "WppBindToSiteW"
  229. #define     WPPLISTSITES_EP_NAME    "WppListSitesW"
  230. #define     WPPDELETESITE_EP_NAME    "WppDeleteSiteW"
  231. #define        WppBindToSite            WppBindToSiteW
  232. #define        WppListSites            WppListSitesW
  233. #define     WppDeleteSite            WppDeleteSiteW
  234. #define        PFN_WPPBINDTOSITE        PFN_WPPBINDTOSITEW
  235. #define        PFN_WPPLISTSITES        PFN_WPPLISTSITESW
  236. #define        PFN_WPPDELETESITE        PFN_WPPDELETESITEW
  237. #endif
  238.  
  239. // dwFlag for WppBindToSite
  240. #define WPF_FORCE_BIND        0x00000100
  241.  
  242. dllexp
  243. HRESULT
  244. WINAPI
  245. WppBindToSiteA(
  246.     HWND    hwnd,
  247.     LPCSTR    lpszSiteName,
  248.     LPCSTR    lpszURL,
  249.     REFIID    riid,
  250.     DWORD    dwFlag,
  251.     DWORD    dwReserved,
  252.     PVOID     *ppvObj);
  253.  
  254. typedef
  255.    HRESULT (WINAPI *PFN_WPPBINDTOSITEA)(HWND    hwnd,
  256.                                         LPCSTR lpszSiteName,
  257.                                         LPCSTR    lpszURL,
  258.                                         REFIID     riid,
  259.                                         DWORD    dwFlag,
  260.                                         DWORD    dwReserved,
  261.                                         PVOID     *ppvOut);
  262.  
  263. dllexp
  264. HRESULT
  265. WINAPI
  266. WppListSitesA(
  267.     LPDWORD            lpcbSites,
  268.     LPWPSITEINFOA    lpSiteInfo,
  269.     LPDWORD            lpcSites);
  270.  
  271. typedef
  272.    HRESULT (WINAPI *PFN_WPPLISTSITESA)(LPDWORD            lpcbSites,
  273.                                         LPWPSITEINFOA    lpSiteInfo,
  274.                                         LPDWORD            lpcSites);
  275.                                         
  276. dllexp
  277. HRESULT
  278. WINAPI
  279. WppDeleteSiteA(
  280.     LPCSTR    lpszSiteName);
  281.  
  282. typedef
  283.    HRESULT (WINAPI *PFN_WPPDELETESITEA)(LPCSTR    lpszSiteName);
  284.  
  285.  
  286. dllexp
  287. HRESULT
  288. WINAPI
  289. WppBindToSiteW(
  290.     HWND    hwnd,
  291.     LPCWSTR    lpszSiteName,
  292.     LPCWSTR    lpszURL,
  293.     REFIID    riid,
  294.     DWORD    dwFlag,
  295.     DWORD    dwReserved,
  296.     PVOID     *ppvObj);
  297.  
  298. typedef
  299.    HRESULT (WINAPI *PFN_WPPBINDTOSITEW)(HWND    hwnd,
  300.                                         LPCWSTR lpszSiteName,
  301.                                         LPCWSTR    lpszURL,
  302.                                         REFIID     riid,
  303.                                         DWORD    dwFlag,
  304.                                         DWORD    dwReserved,
  305.                                         PVOID     *ppvOut);
  306.  
  307. dllexp
  308. HRESULT
  309. WINAPI
  310. WppListSitesW(
  311.     LPDWORD            lpcbSites,
  312.     LPWPSITEINFOW    lpSiteInfo,
  313.     LPDWORD            lpcSites);
  314.  
  315. typedef
  316.    HRESULT (WINAPI *PFN_WPPLISTSITESW)(LPDWORD            lpcbSites,
  317.                                         LPWPSITEINFOW    lpSiteInfo,
  318.                                         LPDWORD            lpcSites);
  319.                                         
  320. dllexp
  321. HRESULT
  322. WINAPI
  323. WppDeleteSiteW(
  324.     LPCWSTR    lpszSiteName);
  325.  
  326. typedef
  327.    HRESULT (WINAPI *PFN_WPPDELETESITEW)(LPCWSTR    lpszSiteName);
  328.  
  329.  
  330. #include <poppack.h>
  331.  
  332.  
  333. #pragma option pop
  334. #pragma option pop /*P_O_Pop*/
  335. #endif // _wpspi_h_
  336.