123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531 |
- {******************************************************************************}
- { }
- { Web Publishing API interface Unit for Object Pascal }
- { }
- { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
- { Corporation. All Rights Reserved. }
- { }
- { The original file is: wpapi.h, released June 2000. The original Pascal }
- { code is: WPApi.pas, released December 2000. The initial developer of the }
- { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
- { }
- { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
- { Marcel van Brakel. All Rights Reserved. }
- { }
- { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
- { }
- { You may retrieve the latest version of this file at the Project JEDI }
- { APILIB home page, located at http://jedi-apilib.sourceforge.net }
- { }
- { The contents of this file are used with permission, subject to the Mozilla }
- { Public License Version 1.1 (the "License"); you may not use this file except }
- { in compliance with the License. You may obtain a copy of the License at }
- { http://www.mozilla.org/MPL/MPL-1.1.html }
- { }
- { Software distributed under the License is distributed on an "AS IS" basis, }
- { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
- { the specific language governing rights and limitations under the License. }
- { }
- { Alternatively, the contents of this file may be used under the terms of the }
- { GNU Lesser General Public License (the "LGPL License"), in which case the }
- { provisions of the LGPL License are applicable instead of those above. }
- { If you wish to allow use of your version of this file only under the terms }
- { of the LGPL License and not to allow others to use your version of this file }
- { under the MPL, indicate your decision by deleting the provisions above and }
- { replace them with the notice and other provisions required by the LGPL }
- { License. If you do not delete the provisions above, a recipient may use }
- { your version of this file under either the MPL or the LGPL License. }
- { }
- { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
- { }
- {******************************************************************************}
- // $Id: JwaWPApi.pas,v 1.8 2005/09/06 16:36:50 marquardt Exp $
- unit JwaWPApi;
- {$WEAKPACKAGEUNIT}
- {$HPPEMIT ''}
- {$HPPEMIT '#include "wpapi.h"'}
- {$HPPEMIT ''}
- {$I jediapilib.inc}
- interface
- uses
- JwaWPTypes, JwaWindows;
- //
- // Flags
- //
- const
- WPF_NO_RECURSIVE_POST = $00000001; // WpPost
- {$EXTERNALSYM WPF_NO_RECURSIVE_POST}
- WPF_NO_WIZARD = $00000002; // WpPost
- {$EXTERNALSYM WPF_NO_WIZARD}
- WPF_MINIMAL_UI = $00000004; // WpPost - OBSOLETE
- {$EXTERNALSYM WPF_MINIMAL_UI}
- WPF_FIRST_FILE_AS_DEFAULT = $00000008; // WpPost/PostFiles
- {$EXTERNALSYM WPF_FIRST_FILE_AS_DEFAULT}
- WPF_NO_DIRECT_LOOKUP = $00000010; // WpBindToSite
- {$EXTERNALSYM WPF_NO_DIRECT_LOOKUP}
- WPF_NO_URL_LOOKUP = $00000020; // WpBindToSite
- {$EXTERNALSYM WPF_NO_URL_LOOKUP}
- WPF_USE_PROVIDER_PASSED = $00000040; // WpCreateSite
- {$EXTERNALSYM WPF_USE_PROVIDER_PASSED}
- WPF_NO_VERIFY_POST = $00000080; // WpPost
- {$EXTERNALSYM WPF_NO_VERIFY_POST}
- WPF_NO_PROGRESS_DLGS = $00000200; // WpPost
- {$EXTERNALSYM WPF_NO_PROGRESS_DLGS}
- WPF_SHOWPAGE_WELCOME = $00010000; // WpPost/Wizard
- {$EXTERNALSYM WPF_SHOWPAGE_WELCOME}
- WPF_SHOWPAGE_SRCFILE = $00020000; // WpPost/Wizard
- {$EXTERNALSYM WPF_SHOWPAGE_SRCFILE}
- WPF_SHOWPAGE_DESTSITE = $00040000; // WpPost/Wizard
- {$EXTERNALSYM WPF_SHOWPAGE_DESTSITE}
- WPF_SHOWPAGE_PROVIDER = $00080000; // WpPost/Wizard/AddWizardPages
- {$EXTERNALSYM WPF_SHOWPAGE_PROVIDER}
- WPF_ENABLE_LOCAL_BASE_DIR = $00100000; // WpPost/Wizard
- {$EXTERNALSYM WPF_ENABLE_LOCAL_BASE_DIR}
- WPF_NO_UI = WPF_NO_WIZARD or WPF_NO_PROGRESS_DLGS;
- {$EXTERNALSYM WPF_NO_UI}
- WPF_SHOWPAGE_ALL = WPF_SHOWPAGE_WELCOME or WPF_SHOWPAGE_SRCFILE or WPF_SHOWPAGE_DESTSITE or WPF_SHOWPAGE_PROVIDER;
- {$EXTERNALSYM WPF_SHOWPAGE_ALL}
- //
- // Miscellaneous
- //
- MAX_SITENAME_LEN = 128;
- {$EXTERNALSYM MAX_SITENAME_LEN}
- //
- // Unicode APIs
- //
- function WpPostW(hwnd: HWND; dwNumLocalPaths: DWORD; pwsLocalPaths: LPWSTR;
- var pdwSiteNameBufLen: DWORD; wsSiteName: LPWSTR; var pdwDestURLBufLen: DWORD;
- wsDestURL: LPWSTR; dwFlag: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpPostW}
- function WpListSitesW(var pdwSitesBufLen: DWORD; pSitesBuffer: LPWPSITEINFOW;
- var pdwNumSites: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpListSitesW}
- function WpDoesSiteExistW(wsSiteName: LPCWSTR; var pfSiteExists: BOOL): DWORD; stdcall;
- {$EXTERNALSYM WpDoesSiteExistW}
- function WpDeleteSiteW(wsSiteName: LPCWSTR): DWORD; stdcall;
- {$EXTERNALSYM WpDeleteSiteW}
- function WpBindToSiteW(hwnd: HWND; wsSiteName, wsSitePostingURL: LPCWSTR;
- dwFlag, dwReserved: DWORD; out ppvUnk: IUnknown): DWORD; stdcall;
- {$EXTERNALSYM WpBindToSiteW}
- function WpCreateSiteW(wsSiteName, wsSiteLocalBaseDir, wsSitePostingURL,
- wsProviderCLSID: LPCWSTR; dwFlags: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpCreateSiteW}
- function WpEnumProvidersW(var pdwProvidersBufLen: DWORD; pProvidersBuffer: LPWPPROVINFOW;
- var pdwNumProviders: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpEnumProvidersW}
- function WpGetErrorStringW(uErrCode: UINT; wsOutputBuf: LPWSTR; var pdwBufLen: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpGetErrorStringW}
- //
- // ANSI APIs
- //
- function WpPostA(hwnd: HWND; dwNumLocalPaths: DWORD; pwsLocalPaths: LPSTR;
- var pdwSiteNameBufLen: DWORD; wsSiteName: LPSTR; var pdwDestURLBufLen: DWORD;
- wsDestURL: LPSTR; dwFlag: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpPostA}
- function WpListSitesA(var pdwSitesBufLen: DWORD; pSitesBuffer: LPWPSITEINFOA;
- var pdwNumSites: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpListSitesA}
- function WpDoesSiteExistA(wsSiteName: LPCSTR; var pfSiteExists: BOOL): DWORD; stdcall;
- {$EXTERNALSYM WpDoesSiteExistA}
- function WpDeleteSiteA(wsSiteName: LPCSTR): DWORD; stdcall;
- {$EXTERNALSYM WpDeleteSiteA}
- function WpBindToSiteA(hwnd: HWND; wsSiteName, wsSitePostingURL: LPCSTR;
- dwFlag, dwReserved: DWORD; out ppvUnk: IUnknown): DWORD; stdcall;
- {$EXTERNALSYM WpBindToSiteA}
- function WpCreateSiteA(wsSiteName, wsSiteLocalBaseDir, wsSitePostingURL,
- wsProviderCLSID: LPCSTR; dwFlags: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpCreateSiteA}
- function WpEnumProvidersA(var pdwProvidersBufLen: DWORD; pProvidersBuffer: LPWPPROVINFOA;
- var pdwNumProviders: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpEnumProvidersA}
- function WpGetErrorStringA(uErrCode: UINT; wsOutputBuf: LPSTR; var pdwBufLen: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpGetErrorStringA}
- function WpPost(hwnd: HWND; dwNumLocalPaths: DWORD; pwsLocalPaths: LPTSTR;
- var pdwSiteNameBufLen: DWORD; wsSiteName: LPTSTR; var pdwDestURLBufLen: DWORD;
- wsDestURL: LPTSTR; dwFlag: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpPost}
- function WpListSites(var pdwSitesBufLen: DWORD; pSitesBuffer: LPWPSITEINFO;
- var pdwNumSites: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpListSites}
- function WpDoesSiteExist(wsSiteName: LPCTSTR; var pfSiteExists: BOOL): DWORD; stdcall;
- {$EXTERNALSYM WpDoesSiteExist}
- function WpDeleteSite(wsSiteName: LPCTSTR): DWORD; stdcall;
- {$EXTERNALSYM WpDeleteSite}
- function WpBindToSite(hwnd: HWND; wsSiteName, wsSitePostingURL: LPCTSTR;
- dwFlag, dwReserved: DWORD; out ppvUnk: IUnknown): DWORD; stdcall;
- {$EXTERNALSYM WpBindToSite}
- function WpCreateSite(wsSiteName, wsSiteLocalBaseDir, wsSitePostingURL, wsProviderCLSID: LPCTSTR; dwFlags: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpCreateSite}
- function WpEnumProviders(var pdwProvidersBufLen: DWORD; pProvidersBuffer: LPWPPROVINFO;
- var pdwNumProviders: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpEnumProviders}
- function WpGetErrorString(uErrCode: UINT; wsOutputBuf: LPTSTR; var pdwBufLen: DWORD): DWORD; stdcall;
- {$EXTERNALSYM WpGetErrorString}
- implementation
- uses
- JwaWinDLLNames;
- {$IFDEF DYNAMIC_LINK}
- var
- _WpPostA: Pointer;
- function WpPostA;
- begin
- GetProcedureAddress(_WpPostA, wpapilib, 'WpPostA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpPostA]
- end;
- end;
- var
- _WpListSitesA: Pointer;
- function WpListSitesA;
- begin
- GetProcedureAddress(_WpListSitesA, wpapilib, 'WpListSitesA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpListSitesA]
- end;
- end;
- var
- _WpDoesSiteExistA: Pointer;
- function WpDoesSiteExistA;
- begin
- GetProcedureAddress(_WpDoesSiteExistA, wpapilib, 'WpDoesSiteExistA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDoesSiteExistA]
- end;
- end;
- var
- _WpDeleteSiteA: Pointer;
- function WpDeleteSiteA;
- begin
- GetProcedureAddress(_WpDeleteSiteA, wpapilib, 'WpDeleteSiteA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDeleteSiteA]
- end;
- end;
- var
- _WpBindToSiteA: Pointer;
- function WpBindToSiteA;
- begin
- GetProcedureAddress(_WpBindToSiteA, wpapilib, 'WpBindToSiteA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpBindToSiteA]
- end;
- end;
- var
- _WpCreateSiteA: Pointer;
- function WpCreateSiteA;
- begin
- GetProcedureAddress(_WpCreateSiteA, wpapilib, 'WpCreateSiteA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpCreateSiteA]
- end;
- end;
- var
- _WpEnumProvidersA: Pointer;
- function WpEnumProvidersA;
- begin
- GetProcedureAddress(_WpEnumProvidersA, wpapilib, 'WpEnumProvidersA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpEnumProvidersA]
- end;
- end;
- var
- _WpGetErrorStringA: Pointer;
- function WpGetErrorStringA;
- begin
- GetProcedureAddress(_WpGetErrorStringA, wpapilib, 'WpGetErrorStringA');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpGetErrorStringA]
- end;
- end;
- var
- _WpPostW: Pointer;
- function WpPostW;
- begin
- GetProcedureAddress(_WpPostW, wpapilib, 'WpPostW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpPostW]
- end;
- end;
- var
- _WpListSitesW: Pointer;
- function WpListSitesW;
- begin
- GetProcedureAddress(_WpListSitesW, wpapilib, 'WpListSitesW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpListSitesW]
- end;
- end;
- var
- _WpDoesSiteExistW: Pointer;
- function WpDoesSiteExistW;
- begin
- GetProcedureAddress(_WpDoesSiteExistW, wpapilib, 'WpDoesSiteExistW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDoesSiteExistW]
- end;
- end;
- var
- _WpDeleteSiteW: Pointer;
- function WpDeleteSiteW;
- begin
- GetProcedureAddress(_WpDeleteSiteW, wpapilib, 'WpDeleteSiteW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDeleteSiteW]
- end;
- end;
- var
- _WpBindToSiteW: Pointer;
- function WpBindToSiteW;
- begin
- GetProcedureAddress(_WpBindToSiteW, wpapilib, 'WpBindToSiteW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpBindToSiteW]
- end;
- end;
- var
- _WpCreateSiteW: Pointer;
- function WpCreateSiteW;
- begin
- GetProcedureAddress(_WpCreateSiteW, wpapilib, 'WpCreateSiteW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpCreateSiteW]
- end;
- end;
- var
- _WpEnumProvidersW: Pointer;
- function WpEnumProvidersW;
- begin
- GetProcedureAddress(_WpEnumProvidersW, wpapilib, 'WpEnumProvidersW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpEnumProvidersW]
- end;
- end;
- var
- _WpGetErrorStringW: Pointer;
- function WpGetErrorStringW;
- begin
- GetProcedureAddress(_WpGetErrorStringW, wpapilib, 'WpGetErrorStringW');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpGetErrorStringW]
- end;
- end;
- var
- _WpPost: Pointer;
- function WpPost;
- begin
- GetProcedureAddress(_WpPost, wpapilib, 'WpPost' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpPost]
- end;
- end;
- var
- _WpListSites: Pointer;
- function WpListSites;
- begin
- GetProcedureAddress(_WpListSites, wpapilib, 'WpListSites' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpListSites]
- end;
- end;
- var
- _WpDoesSiteExist: Pointer;
- function WpDoesSiteExist;
- begin
- GetProcedureAddress(_WpDoesSiteExist, wpapilib, 'WpDoesSiteExist' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDoesSiteExist]
- end;
- end;
- var
- _WpDeleteSite: Pointer;
- function WpDeleteSite;
- begin
- GetProcedureAddress(_WpDeleteSite, wpapilib, 'WpDeleteSite' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpDeleteSite]
- end;
- end;
- var
- _WpBindToSite: Pointer;
- function WpBindToSite;
- begin
- GetProcedureAddress(_WpBindToSite, wpapilib, 'WpBindToSite' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpBindToSite]
- end;
- end;
- var
- _WpCreateSite: Pointer;
- function WpCreateSite;
- begin
- GetProcedureAddress(_WpCreateSite, wpapilib, 'WpCreateSite' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpCreateSite]
- end;
- end;
- var
- _WpEnumProviders: Pointer;
- function WpEnumProviders;
- begin
- GetProcedureAddress(_WpEnumProviders, wpapilib, 'WpEnumProviders' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpEnumProviders]
- end;
- end;
- var
- _WpGetErrorString: Pointer;
- function WpGetErrorString;
- begin
- GetProcedureAddress(_WpGetErrorString, wpapilib, 'WpGetErrorString' + AWSuffix);
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WpGetErrorString]
- end;
- end;
- {$ELSE}
- function WpPostA; external wpapilib name 'WpPostA';
- function WpListSitesA; external wpapilib name 'WpListSitesA';
- function WpDoesSiteExistA; external wpapilib name 'WpDoesSiteExistA';
- function WpDeleteSiteA; external wpapilib name 'WpDeleteSiteA';
- function WpBindToSiteA; external wpapilib name 'WpBindToSiteA';
- function WpCreateSiteA; external wpapilib name 'WpCreateSiteA';
- function WpEnumProvidersA; external wpapilib name 'WpEnumProvidersA';
- function WpGetErrorStringA; external wpapilib name 'WpGetErrorStringA';
- function WpPostW; external wpapilib name 'WpPostW';
- function WpListSitesW; external wpapilib name 'WpListSitesW';
- function WpDoesSiteExistW; external wpapilib name 'WpDoesSiteExistW';
- function WpDeleteSiteW; external wpapilib name 'WpDeleteSiteW';
- function WpBindToSiteW; external wpapilib name 'WpBindToSiteW';
- function WpCreateSiteW; external wpapilib name 'WpCreateSiteW';
- function WpEnumProvidersW; external wpapilib name 'WpEnumProvidersW';
- function WpGetErrorStringW; external wpapilib name 'WpGetErrorStringW';
- function WpPost; external wpapilib name 'WpPost' + AWSuffix;
- function WpListSites; external wpapilib name 'WpListSites' + AWSuffix;
- function WpDoesSiteExist; external wpapilib name 'WpDoesSiteExist' + AWSuffix;
- function WpDeleteSite; external wpapilib name 'WpDeleteSite' + AWSuffix;
- function WpBindToSite; external wpapilib name 'WpBindToSite' + AWSuffix;
- function WpCreateSite; external wpapilib name 'WpCreateSite' + AWSuffix;
- function WpEnumProviders; external wpapilib name 'WpEnumProviders' + AWSuffix;
- function WpGetErrorString; external wpapilib name 'WpGetErrorString' + AWSuffix;
- {$ENDIF DYNAMIC_LINK}
- end.
|