C/C++ User's Journal STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... ATLSTL - where the Standard Template Library meets the Active Template Library COMSTL - where the Standard Template Library meets the Component Object Model
Synesis Software InetSTL - where the Standard Template Library meets the Internet UNIXSTL - Template Software for the UNIX Operating System WinSTL - where the Standard Template Library meets the Win32 API

Main Page | Modules | Namespace List | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Dev/src/recls_wininet_dl.h

Go to the documentation of this file.
00001 /* ///////////////////////////////////////////////////////////////////////////// 00002 * File: recls_wininet_dl.h 00003 * 00004 * Purpose: Delay-loading functionality for the recls library. 00005 * 00006 * Created: 9th September 2004 00007 * Updated: 10th January 2005 00008 * 00009 * Home: http://recls.org/ 00010 * 00011 * Copyright 2004-2005, Matthew Wilson and Synesis Software 00012 * All rights reserved. 00013 * 00014 * Redistribution and use in source and binary forms, with or without 00015 * modification, are permitted provided that the following conditions are met: 00016 * 00017 * - Redistributions of source code must retain the above copyright notice, this 00018 * list of conditions and the following disclaimer. 00019 * - Redistributions in binary form must reproduce the above copyright notice, 00020 * this list of conditions and the following disclaimer in the documentation 00021 * and/or other materials provided with the distribution. 00022 * - Neither the name(s) of Matthew Wilson and Synesis Software nor the names of 00023 * any contributors may be used to endorse or promote products derived from 00024 * this software without specific prior written permission. 00025 * 00026 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00027 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00029 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00030 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00031 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00032 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00033 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00034 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00035 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00036 * POSSIBILITY OF SUCH DAMAGE. 00037 * 00038 * ////////////////////////////////////////////////////////////////////////// */ 00039 00040 00041 /* File version */ 00042 #ifndef RECLS_DOCUMENTATION_SKIP_SECTION 00043 # define RECLS_VER_H_RECLS_WININET_DL_MAJOR 1 00044 # define RECLS_VER_H_RECLS_WININET_DL_MINOR 0 00045 # define RECLS_VER_H_RECLS_WININET_DL_REVISION 2 00046 # define RECLS_VER_H_RECLS_WININET_DL_EDIT 2 00047 #endif /* !RECLS_DOCUMENTATION_SKIP_SECTION */ 00048 00051 #if !defined(RECLS_DELAY_LOAD_WININET) 00052 # error Cannot include recls_wininet_dl.h unless RECLS_DELAY_LOAD_WININET is defined 00053 #endif /* RECLS_DELAY_LOAD_WININET */ 00054 00055 /* ///////////////////////////////////////////////////////////////////////////// 00056 * Includes 00057 */ 00058 00059 #include "recls.h" 00060 #include <wininet.h> 00061 00062 /* ///////////////////////////////////////////////////////////////////////////// 00063 * Macros, definitions and typedefs 00064 */ 00065 00066 #ifndef INTERNETAPI_ 00067 # define INTERNETAPI_(type) EXTERN_C type STDAPICALLTYPE 00068 #endif /* !INTERNETAPI_ */ 00069 00070 #ifndef BOOLAPI 00071 # define BOOLAPI INTERNETAPI_(BOOL) 00072 #endif /* !BOOLAPI */ 00073 00074 #if defined(RECLS_COMPILER_IS_DMC) 00075 typedef unsigned long DWORD_PTR_; 00076 # define DWORD_PTR DWORD_PTR_ 00077 #endif /* RECLS_COMPILER_IS_DMC */ 00078 00079 /* ///////////////////////////////////////////////////////////////////////////// 00080 * Functions 00081 */ 00082 00083 BOOLAPI recls_dl_FtpGetCurrentDirectoryA( 00084 IN HINTERNET hConnect, 00085 OUT LPSTR lpszCurrentDirectory, 00086 IN OUT LPDWORD lpdwCurrentDirectory 00087 ); 00088 BOOLAPI recls_dl_FtpGetCurrentDirectoryW( 00089 IN HINTERNET hConnect, 00090 OUT LPWSTR lpszCurrentDirectory, 00091 IN OUT LPDWORD lpdwCurrentDirectory 00092 ); 00093 00094 INTERNETAPI_(HINTERNET) recls_dl_InternetOpenA( 00095 IN LPCSTR lpszAgent, 00096 IN DWORD dwAccessType, 00097 IN LPCSTR lpszProxy OPTIONAL, 00098 IN LPCSTR lpszProxyBypass OPTIONAL, 00099 IN DWORD dwFlags 00100 ); 00101 INTERNETAPI_(HINTERNET) recls_dl_InternetOpenW( 00102 IN LPCWSTR lpszAgent, 00103 IN DWORD dwAccessType, 00104 IN LPCWSTR lpszProxy OPTIONAL, 00105 IN LPCWSTR lpszProxyBypass OPTIONAL, 00106 IN DWORD dwFlags 00107 ); 00108 00109 INTERNETAPI_(HINTERNET) recls_dl_InternetConnectA( 00110 IN HINTERNET hInternet, 00111 IN LPCSTR lpszServerName, 00112 IN INTERNET_PORT nServerPort, 00113 IN LPCSTR lpszUserName OPTIONAL, 00114 IN LPCSTR lpszPassword OPTIONAL, 00115 IN DWORD dwService, 00116 IN DWORD dwFlags, 00117 IN DWORD_PTR dwContext 00118 ); 00119 INTERNETAPI_(HINTERNET) recls_dl_InternetConnectW( 00120 IN HINTERNET hInternet, 00121 IN LPCWSTR lpszServerName, 00122 IN INTERNET_PORT nServerPort, 00123 IN LPCWSTR lpszUserName OPTIONAL, 00124 IN LPCWSTR lpszPassword OPTIONAL, 00125 IN DWORD dwService, 00126 IN DWORD dwFlags, 00127 IN DWORD_PTR dwContext 00128 ); 00129 00130 BOOLAPI recls_dl_InternetCloseHandle( 00131 IN HINTERNET hInternet 00132 ); 00133 00134 BOOLAPI recls_dl_InternetFindNextFileA( 00135 IN HINTERNET hFind, 00136 OUT LPVOID lpvFindData 00137 ); 00138 BOOLAPI recls_dl_InternetFindNextFileW( 00139 IN HINTERNET hFind, 00140 OUT LPVOID lpvFindData 00141 ); 00142 00143 INTERNETAPI_(HINTERNET) recls_dl_FtpFindFirstFileA( 00144 IN HINTERNET hConnect, 00145 IN LPCSTR lpszSearchFile OPTIONAL, 00146 OUT LPWIN32_FIND_DATAA lpFindFileData OPTIONAL, 00147 IN DWORD dwFlags, 00148 IN DWORD_PTR dwContext 00149 ); 00150 INTERNETAPI_(HINTERNET) recls_dl_FtpFindFirstFileW( 00151 IN HINTERNET hConnect, 00152 IN LPCWSTR lpszSearchFile OPTIONAL, 00153 OUT LPWIN32_FIND_DATAW lpFindFileData OPTIONAL, 00154 IN DWORD dwFlags, 00155 IN DWORD_PTR dwContext 00156 ); 00157 00158 #define FtpGetCurrentDirectoryA recls_dl_FtpGetCurrentDirectoryA 00159 #define FtpGetCurrentDirectoryW recls_dl_FtpGetCurrentDirectoryW 00160 #define InternetOpenA recls_dl_InternetOpenA 00161 #define InternetOpenW recls_dl_InternetOpenW 00162 #define InternetConnectA recls_dl_InternetConnectA 00163 #define InternetConnectW recls_dl_InternetConnectW 00164 #define InternetFindNextFileA recls_dl_InternetFindNextFileA 00165 #define InternetFindNextFileW recls_dl_InternetFindNextFileW 00166 #define FtpFindFirstFileA recls_dl_FtpFindFirstFileA 00167 #define FtpFindFirstFileW recls_dl_FtpFindFirstFileW 00168 #define InternetCloseHandle recls_dl_InternetCloseHandle 00169 00170 /* ////////////////////////////////////////////////////////////////////////// */

recls Library documentation © Synesis Software Pty Ltd, 2001-2005