318 lines
7.9 KiB
C
318 lines
7.9 KiB
C
/*****************************************************************/
|
|
/** Microsoft Windows 4.00 **/
|
|
/** Copyright (C) Microsoft Corp., 1995-1996 **/
|
|
/*****************************************************************/
|
|
|
|
/* WPSPI.H -- WebPost Provider Interface definitions
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef _wpspi_h_
|
|
#define _wpspi_h_
|
|
|
|
# if !defined( dllexp)
|
|
#define dllexp __declspec( dllexport )
|
|
# endif // dllexp
|
|
|
|
//
|
|
// Assume packing on DWORD boundary
|
|
//
|
|
#include <pshpack4.h>
|
|
|
|
//
|
|
// Insert OLE defines
|
|
//
|
|
|
|
#define _INC_OLE
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
#include <ole2.h>
|
|
#include <shlobj.h>
|
|
|
|
#include <windowsx.h>
|
|
#include <commctrl.h>
|
|
|
|
#ifdef __cplusplus
|
|
} /* end "C" */
|
|
#endif /* __cplusplus */
|
|
|
|
#include <wpguid.h>
|
|
|
|
// Dialog ID for Provider's pages should be between the following
|
|
#define IDD_WEBPOST_PROVIDER_FIRST 9000
|
|
#define IDD_WEBPOST_PROVIDER_LAST 9999
|
|
|
|
#define WPCP_HOMEPAGEURL TEXT("HomePageURL")
|
|
#define WPCP_BASEURL TEXT("BaseURL")
|
|
#define WPCP_BASEPATH TEXT("BasePath")
|
|
|
|
|
|
/************************************************************************
|
|
|
|
IWPProvider interface
|
|
|
|
************************************************************************/
|
|
|
|
DECLARE_INTERFACE_(IWPProvider, IUnknown)
|
|
{
|
|
// *** IUnknown methods ***
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
// *** Specific functions ***
|
|
};
|
|
|
|
|
|
#ifndef UNICODE
|
|
#define IWPSite IWPSiteA
|
|
#else
|
|
#define IWPSite IWPSiteW
|
|
#endif
|
|
|
|
/************************************************************************
|
|
|
|
IWPSite interface
|
|
|
|
************************************************************************/
|
|
|
|
DECLARE_INTERFACE_(IWPSiteA, IUnknown)
|
|
{
|
|
// *** IUnknown methods ***
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
// *** Specific functions ***
|
|
STDMETHOD(GetSiteInfo) (THIS_
|
|
LPWPSITEINFOA lpSiteInfo,
|
|
LPDWORD lpcbSiteInfo) PURE;
|
|
STDMETHOD(NetworkConnect) (THIS_
|
|
LPCSTR lpszUserName,
|
|
LPCSTR lpszPassword) PURE;
|
|
STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
|
|
STDMETHOD(ServerLogin) (THIS_
|
|
LPCSTR lpszUserName,
|
|
LPCSTR lpszPassword) PURE;
|
|
STDMETHOD(ServerLogout) (THIS_ ) PURE;
|
|
STDMETHOD(PostFiles) (THIS_
|
|
DWORD cLocalPaths,
|
|
LPSTR *lppszLocalPaths,
|
|
LPDWORD lpcbURL,
|
|
LPSTR lpszURL,
|
|
DWORD dwFlag) PURE;
|
|
STDMETHOD(DeleteFile) (THIS_
|
|
LPCSTR lpszFile) PURE;
|
|
STDMETHOD(FindFirstFile) (THIS_
|
|
LPCSTR lpszSearchFile,
|
|
LPWIN32_FIND_DATAA lpFindFileData,
|
|
LPHANDLE lpSearchHandle) PURE;
|
|
STDMETHOD(FindNextFile) (THIS_
|
|
HANDLE hSearchHandle,
|
|
LPWIN32_FIND_DATAA lpFindFileData) PURE;
|
|
STDMETHOD(FindClose) (THIS_
|
|
HANDLE hSearchHandle) PURE;
|
|
STDMETHOD(Commit) (THIS_ ) PURE;
|
|
STDMETHOD(GetParam) (THIS_
|
|
LPCSTR lpszParameter,
|
|
LPDWORD lpcchValue,
|
|
LPSTR lpszValue) PURE;
|
|
STDMETHOD(SetParam) (THIS_
|
|
LPCSTR lpszParameter,
|
|
LPCSTR lpszValue) PURE;
|
|
STDMETHOD(GetError) (THIS_
|
|
LPDWORD lpdwErrorType,
|
|
LPDWORD lpdwErrorCode,
|
|
LPDWORD lpcbError,
|
|
LPSTR lpszError) PURE;
|
|
STDMETHOD(AddWizardPages) (THIS_
|
|
LPVOID lpv,
|
|
LPFNADDPROPSHEETPAGE lpfnAdd,
|
|
LPARAM lParam) PURE;
|
|
};
|
|
|
|
|
|
DECLARE_INTERFACE_(IWPSiteW, IUnknown)
|
|
{
|
|
// *** IUnknown methods ***
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
// *** Specific functions ***
|
|
STDMETHOD(GetSiteInfo) (THIS_
|
|
LPWPSITEINFOW lpSiteInfo,
|
|
LPDWORD lpcbSiteInfo) PURE;
|
|
STDMETHOD(NetworkConnect) (THIS_
|
|
LPCWSTR lpszUserName,
|
|
LPCWSTR lpszPassword) PURE;
|
|
STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
|
|
STDMETHOD(ServerLogin) (THIS_
|
|
LPCWSTR lpszUserName,
|
|
LPCWSTR lpszPassword) PURE;
|
|
STDMETHOD(ServerLogout) (THIS_ ) PURE;
|
|
STDMETHOD(PostFiles) (THIS_
|
|
DWORD cLocalPaths,
|
|
LPWSTR *lppszLocalPaths,
|
|
LPDWORD lpcbURL,
|
|
LPWSTR lpszURL,
|
|
DWORD dwFlag) PURE;
|
|
STDMETHOD(DeleteFile) (THIS_
|
|
LPCWSTR lpszFile) PURE;
|
|
STDMETHOD(FindFirstFile) (THIS_
|
|
LPCWSTR lpszSearchFile,
|
|
LPWIN32_FIND_DATAW lpFindFileData,
|
|
LPHANDLE lpSearchHandle) PURE;
|
|
STDMETHOD(FindNextFile) (THIS_
|
|
HANDLE hSearchHandle,
|
|
LPWIN32_FIND_DATAW lpFindFileData) PURE;
|
|
STDMETHOD(FindClose) (THIS_
|
|
HANDLE hSearchHandle) PURE;
|
|
STDMETHOD(Commit) (THIS_ ) PURE;
|
|
STDMETHOD(GetParam) (THIS_
|
|
LPCWSTR lpszParameter,
|
|
LPDWORD lpcchValue,
|
|
LPWSTR lpszValue) PURE;
|
|
STDMETHOD(SetParam) (THIS_
|
|
LPCWSTR lpszParameter,
|
|
LPCWSTR lpszValue) PURE;
|
|
STDMETHOD(GetError) (THIS_
|
|
LPDWORD lpdwErrorType,
|
|
LPDWORD lpdwErrorCode,
|
|
LPDWORD lpcbError,
|
|
LPWSTR lpszError) PURE;
|
|
STDMETHOD(AddWizardPages) (THIS_
|
|
LPVOID lpv,
|
|
LPFNADDPROPSHEETPAGE lpfnAdd,
|
|
LPARAM lParam) PURE;
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
|
|
Global APIs
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef UNICODE
|
|
#define WPPBINDTOSITE_EP_NAME "WppBindToSiteA"
|
|
#define WPPLISTSITES_EP_NAME "WppListSitesA"
|
|
#define WPPDELETESITE_EP_NAME "WppDeleteSiteA"
|
|
#define WppBindToSite WppBindToSiteA
|
|
#define WppListSites WppListSitesA
|
|
#define WppDeleteSite WppDeleteSiteA
|
|
#define PFN_WPPBINDTOSITE PFN_WPPBINDTOSITEA
|
|
#define PFN_WPPLISTSITES PFN_WPPLISTSITESA
|
|
#define PFN_WPPDELETESITE PFN_WPPDELETESITEA
|
|
|
|
#else
|
|
#define WPPBINDTOSITE_EP_NAME "WppBindToSiteW"
|
|
#define WPPLISTSITES_EP_NAME "WppListSitesW"
|
|
#define WPPDELETESITE_EP_NAME "WppDeleteSiteW"
|
|
#define WppBindToSite WppBindToSiteW
|
|
#define WppListSites WppListSitesW
|
|
#define WppDeleteSite WppDeleteSiteW
|
|
#define PFN_WPPBINDTOSITE PFN_WPPBINDTOSITEW
|
|
#define PFN_WPPLISTSITES PFN_WPPLISTSITESW
|
|
#define PFN_WPPDELETESITE PFN_WPPDELETESITEW
|
|
#endif
|
|
|
|
// dwFlag for WppBindToSite
|
|
#define WPF_FORCE_BIND 0x00000100
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppBindToSiteA(
|
|
HWND hwnd,
|
|
LPCSTR lpszSiteName,
|
|
LPCSTR lpszURL,
|
|
REFIID riid,
|
|
DWORD dwFlag,
|
|
DWORD dwReserved,
|
|
PVOID *ppvObj);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPBINDTOSITEA)(HWND hwnd,
|
|
LPCSTR lpszSiteName,
|
|
LPCSTR lpszURL,
|
|
REFIID riid,
|
|
DWORD dwFlag,
|
|
DWORD dwReserved,
|
|
PVOID *ppvOut);
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppListSitesA(
|
|
LPDWORD lpcbSites,
|
|
LPWPSITEINFOA lpSiteInfo,
|
|
LPDWORD lpcSites);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPLISTSITESA)(LPDWORD lpcbSites,
|
|
LPWPSITEINFOA lpSiteInfo,
|
|
LPDWORD lpcSites);
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppDeleteSiteA(
|
|
LPCSTR lpszSiteName);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPDELETESITEA)(LPCSTR lpszSiteName);
|
|
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppBindToSiteW(
|
|
HWND hwnd,
|
|
LPCWSTR lpszSiteName,
|
|
LPCWSTR lpszURL,
|
|
REFIID riid,
|
|
DWORD dwFlag,
|
|
DWORD dwReserved,
|
|
PVOID *ppvObj);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPBINDTOSITEW)(HWND hwnd,
|
|
LPCWSTR lpszSiteName,
|
|
LPCWSTR lpszURL,
|
|
REFIID riid,
|
|
DWORD dwFlag,
|
|
DWORD dwReserved,
|
|
PVOID *ppvOut);
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppListSitesW(
|
|
LPDWORD lpcbSites,
|
|
LPWPSITEINFOW lpSiteInfo,
|
|
LPDWORD lpcSites);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPLISTSITESW)(LPDWORD lpcbSites,
|
|
LPWPSITEINFOW lpSiteInfo,
|
|
LPDWORD lpcSites);
|
|
|
|
dllexp
|
|
HRESULT
|
|
WINAPI
|
|
WppDeleteSiteW(
|
|
LPCWSTR lpszSiteName);
|
|
|
|
typedef
|
|
HRESULT (WINAPI *PFN_WPPDELETESITEW)(LPCWSTR lpszSiteName);
|
|
|
|
#include <poppack.h>
|
|
|
|
#endif // _wpspi_h_
|
|
|