00001
00002
00003
00004
00005 #if !defined(_WININET_)
00006 #define _WININET_
00007
00008 #include <pshpack4.h>
00009
00010 #if defined(__cplusplus)
00011 extern "C" {
00012 #endif
00013
00014 #if !defined(_WINX32_)
00015 #define INTERNETAPI DECLSPEC_IMPORT
00016 #define URLCACHEAPI DECLSPEC_IMPORT
00017 #else
00018 #define INTERNETAPI
00019 #define URLCACHEAPI
00020 #endif
00021
00022 #define BOOLAPI INTERNETAPI BOOL WINAPI
00023
00024 typedef LPVOID HINTERNET;
00025 typedef HINTERNET * LPHINTERNET;
00026
00027 typedef WORD INTERNET_PORT;
00028 typedef INTERNET_PORT * LPINTERNET_PORT;
00029
00030 #define INTERNET_INVALID_PORT_NUMBER 0
00031
00032 #define INTERNET_DEFAULT_FTP_PORT 21
00033 #define INTERNET_DEFAULT_GOPHER_PORT 70
00034 #define INTERNET_DEFAULT_HTTP_PORT 80
00035 #define INTERNET_DEFAULT_HTTPS_PORT 443
00036 #define INTERNET_DEFAULT_SOCKS_PORT 1080
00037
00038 #define INTERNET_MAX_HOST_NAME_LENGTH 256
00039 #define INTERNET_MAX_USER_NAME_LENGTH 128
00040 #define INTERNET_MAX_PASSWORD_LENGTH 128
00041 #define INTERNET_MAX_PORT_NUMBER_LENGTH 5
00042 #define INTERNET_MAX_PORT_NUMBER_VALUE 65535
00043 #define INTERNET_MAX_PATH_LENGTH 2048
00044 #define INTERNET_MAX_SCHEME_LENGTH 32
00045 #define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH \
00046 + sizeof("://") \
00047 + INTERNET_MAX_PATH_LENGTH)
00048
00049 #define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1)
00050 #define INTERNET_KEEP_ALIVE_ENABLED 1
00051 #define INTERNET_KEEP_ALIVE_DISABLED 0
00052
00053 #define INTERNET_REQFLAG_FROM_CACHE 0x00000001
00054 #define INTERNET_REQFLAG_ASYNC 0x00000002
00055 #define INTERNET_REQFLAG_VIA_PROXY 0x00000004
00056 #define INTERNET_REQFLAG_NO_HEADERS 0x00000008
00057 #define INTERNET_REQFLAG_PASSIVE 0x00000010
00058 #define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040
00059 #define INTERNET_REQFLAG_NET_TIMEOUT 0x00000080
00060
00061 #define INTERNET_FLAG_RELOAD 0x80000000
00062
00063 #define INTERNET_FLAG_RAW_DATA 0x40000000
00064 #define INTERNET_FLAG_EXISTING_CONNECT 0x20000000
00065
00066 #define INTERNET_FLAG_ASYNC 0x10000000
00067
00068 #define INTERNET_FLAG_PASSIVE 0x08000000
00069
00070 #define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000
00071 #define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE
00072 #define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000
00073 #define INTERNET_FLAG_FROM_CACHE 0x01000000
00074 #define INTERNET_FLAG_OFFLINE INTERNET_FLAG_FROM_CACHE
00075
00076 #define INTERNET_FLAG_SECURE 0x00800000
00077 #define INTERNET_FLAG_KEEP_CONNECTION 0x00400000
00078 #define INTERNET_FLAG_NO_AUTO_REDIRECT 0x00200000
00079 #define INTERNET_FLAG_READ_PREFETCH 0x00100000
00080 #define INTERNET_FLAG_NO_COOKIES 0x00080000
00081 #define INTERNET_FLAG_NO_AUTH 0x00040000
00082 #define INTERNET_FLAG_CACHE_IF_NET_FAIL 0x00010000
00083
00084 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x00008000
00085 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x00004000
00086 #define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000
00087 #define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x00001000
00088
00089 #define INTERNET_FLAG_RESYNCHRONIZE 0x00000800
00090 #define INTERNET_FLAG_HYPERLINK 0x00000400
00091 #define INTERNET_FLAG_NO_UI 0x00000200
00092 #define INTERNET_FLAG_PRAGMA_NOCACHE 0x00000100
00093 #define INTERNET_FLAG_CACHE_ASYNC 0x00000080
00094 #define INTERNET_FLAG_FORMS_SUBMIT 0x00000040
00095 #define INTERNET_FLAG_FWD_BACK 0x00000020
00096 #define INTERNET_FLAG_NEED_FILE 0x00000010
00097 #define INTERNET_FLAG_MUST_CACHE_REQUEST INTERNET_FLAG_NEED_FILE
00098
00099 #define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII
00100 #define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
00101
00102 #define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | \
00103 INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | \
00104 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | \
00105 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP )
00106
00107 #define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD \
00108 | INTERNET_FLAG_RAW_DATA \
00109 | INTERNET_FLAG_EXISTING_CONNECT \
00110 | INTERNET_FLAG_ASYNC \
00111 | INTERNET_FLAG_PASSIVE \
00112 | INTERNET_FLAG_NO_CACHE_WRITE \
00113 | INTERNET_FLAG_MAKE_PERSISTENT \
00114 | INTERNET_FLAG_FROM_CACHE \
00115 | INTERNET_FLAG_SECURE \
00116 | INTERNET_FLAG_KEEP_CONNECTION \
00117 | INTERNET_FLAG_NO_AUTO_REDIRECT \
00118 | INTERNET_FLAG_READ_PREFETCH \
00119 | INTERNET_FLAG_NO_COOKIES \
00120 | INTERNET_FLAG_NO_AUTH \
00121 | INTERNET_FLAG_CACHE_IF_NET_FAIL \
00122 | SECURITY_INTERNET_MASK \
00123 | INTERNET_FLAG_RESYNCHRONIZE \
00124 | INTERNET_FLAG_HYPERLINK \
00125 | INTERNET_FLAG_NO_UI \
00126 | INTERNET_FLAG_PRAGMA_NOCACHE \
00127 | INTERNET_FLAG_CACHE_ASYNC \
00128 | INTERNET_FLAG_FORMS_SUBMIT \
00129 | INTERNET_FLAG_NEED_FILE \
00130 | INTERNET_FLAG_TRANSFER_BINARY \
00131 | INTERNET_FLAG_TRANSFER_ASCII \
00132 | INTERNET_FLAG_FWD_BACK \
00133 | INTERNET_FLAG_BGUPDATE \
00134 )
00135
00136 #define INTERNET_ERROR_MASK_INSERT_CDROM 0x1
00137 #define INTERNET_ERROR_MASK_COMBINED_SEC_CERT 0x2
00138 #define INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG 0X4
00139 #define INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY 0x8
00140
00141 #define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK)
00142
00143 #define WININET_API_FLAG_ASYNC 0x00000001
00144 #define WININET_API_FLAG_SYNC 0x00000004
00145 #define WININET_API_FLAG_USE_CONTEXT 0x00000008
00146
00147 #define INTERNET_NO_CALLBACK 0
00148
00149 typedef enum {
00150 INTERNET_SCHEME_PARTIAL = -2,
00151 INTERNET_SCHEME_UNKNOWN = -1,
00152 INTERNET_SCHEME_DEFAULT = 0,
00153 INTERNET_SCHEME_FTP,
00154 INTERNET_SCHEME_GOPHER,
00155 INTERNET_SCHEME_HTTP,
00156 INTERNET_SCHEME_HTTPS,
00157 INTERNET_SCHEME_FILE,
00158 INTERNET_SCHEME_NEWS,
00159 INTERNET_SCHEME_MAILTO,
00160 INTERNET_SCHEME_SOCKS,
00161 INTERNET_SCHEME_JAVASCRIPT,
00162 INTERNET_SCHEME_VBSCRIPT,
00163 INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP,
00164 INTERNET_SCHEME_LAST = INTERNET_SCHEME_VBSCRIPT
00165 } INTERNET_SCHEME, * LPINTERNET_SCHEME;
00166
00167 typedef struct {
00168
00169
00170
00171
00172
00173 DWORD dwResult;
00174
00175
00176
00177
00178
00179 DWORD dwError;
00180 } INTERNET_ASYNC_RESULT, * LPINTERNET_ASYNC_RESULT;
00181
00182 typedef struct {
00183
00184
00185
00186
00187
00188
00189 DWORD dwAccessType;
00190
00191
00192
00193
00194
00195 LPCTSTR lpszProxy;
00196
00197
00198
00199
00200
00201 LPCTSTR lpszProxyBypass;
00202 } INTERNET_PROXY_INFO, * LPINTERNET_PROXY_INFO;
00203
00204 typedef struct {
00205 DWORD dwOption;
00206 union {
00207 DWORD dwValue;
00208 LPSTR pszValue;
00209 FILETIME ftValue;
00210 } Value;
00211 } INTERNET_PER_CONN_OPTIONA, * LPINTERNET_PER_CONN_OPTIONA;
00212 typedef struct {
00213 DWORD dwOption;
00214 union {
00215 DWORD dwValue;
00216 LPWSTR pszValue;
00217 FILETIME ftValue;
00218 } Value;
00219 } INTERNET_PER_CONN_OPTIONW, * LPINTERNET_PER_CONN_OPTIONW;
00220 #ifdef UNICODE
00221 typedef INTERNET_PER_CONN_OPTIONW INTERNET_PER_CONN_OPTION;
00222 typedef LPINTERNET_PER_CONN_OPTIONW LPINTERNET_PER_CONN_OPTION;
00223 #else
00224 typedef INTERNET_PER_CONN_OPTIONA INTERNET_PER_CONN_OPTION;
00225 typedef LPINTERNET_PER_CONN_OPTIONA LPINTERNET_PER_CONN_OPTION;
00226 #endif
00227
00228 typedef struct {
00229 DWORD dwSize;
00230 LPSTR pszConnection;
00231 DWORD dwOptionCount;
00232 DWORD dwOptionError;
00233 LPINTERNET_PER_CONN_OPTIONA pOptions;
00234
00235 } INTERNET_PER_CONN_OPTION_LISTA, * LPINTERNET_PER_CONN_OPTION_LISTA;
00236 typedef struct {
00237 DWORD dwSize;
00238 LPWSTR pszConnection;
00239 DWORD dwOptionCount;
00240 DWORD dwOptionError;
00241 LPINTERNET_PER_CONN_OPTIONW pOptions;
00242
00243 } INTERNET_PER_CONN_OPTION_LISTW, * LPINTERNET_PER_CONN_OPTION_LISTW;
00244 #ifdef UNICODE
00245 typedef INTERNET_PER_CONN_OPTION_LISTW INTERNET_PER_CONN_OPTION_LIST;
00246 typedef LPINTERNET_PER_CONN_OPTION_LISTW LPINTERNET_PER_CONN_OPTION_LIST;
00247 #else
00248 typedef INTERNET_PER_CONN_OPTION_LISTA INTERNET_PER_CONN_OPTION_LIST;
00249 typedef LPINTERNET_PER_CONN_OPTION_LISTA LPINTERNET_PER_CONN_OPTION_LIST;
00250 #endif
00251
00252 #define INTERNET_PER_CONN_FLAGS 1
00253 #define INTERNET_PER_CONN_PROXY_SERVER 2
00254 #define INTERNET_PER_CONN_PROXY_BYPASS 3
00255 #define INTERNET_PER_CONN_AUTOCONFIG_URL 4
00256 #define INTERNET_PER_CONN_AUTODISCOVERY_FLAGS 5
00257
00258 #define PROXY_TYPE_DIRECT 0x00000001
00259 #define PROXY_TYPE_PROXY 0x00000002
00260 #define PROXY_TYPE_AUTO_PROXY_URL 0x00000004
00261 #define PROXY_TYPE_AUTO_DETECT 0x00000008
00262
00263 #define AUTO_PROXY_FLAG_USER_SET 0x00000001
00264 #define AUTO_PROXY_FLAG_ALWAYS_DETECT 0x00000002
00265 #define AUTO_PROXY_FLAG_DETECTION_RUN 0x00000004
00266 #define AUTO_PROXY_FLAG_MIGRATED 0x00000008
00267 #define AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT 0x00000010
00268 #define AUTO_PROXY_FLAG_CACHE_INIT_RUN 0x00000020
00269 #define AUTO_PROXY_FLAG_DETECTION_SUSPECT 0x00000040
00270
00271 typedef struct {
00272 DWORD dwMajorVersion;
00273 DWORD dwMinorVersion;
00274 } INTERNET_VERSION_INFO, * LPINTERNET_VERSION_INFO;
00275
00276 typedef struct {
00277 DWORD dwMajorVersion;
00278 DWORD dwMinorVersion;
00279 } HTTP_VERSION_INFO, * LPHTTP_VERSION_INFO;
00280
00281 typedef struct {
00282
00283
00284
00285
00286
00287
00288 DWORD dwConnectedState;
00289
00290
00291
00292
00293
00294
00295 DWORD dwFlags;
00296 } INTERNET_CONNECTED_INFO, * LPINTERNET_CONNECTED_INFO;
00297
00298 #define ISO_FORCE_DISCONNECTED 0x00000001
00299
00300 #pragma warning( disable : 4121 )
00301
00302 typedef struct {
00303 DWORD dwStructSize;
00304 LPSTR lpszScheme;
00305 DWORD dwSchemeLength;
00306 INTERNET_SCHEME nScheme;
00307 LPSTR lpszHostName;
00308 DWORD dwHostNameLength;
00309 INTERNET_PORT nPort;
00310 LPSTR lpszUserName;
00311 DWORD dwUserNameLength;
00312 LPSTR lpszPassword;
00313 DWORD dwPasswordLength;
00314 LPSTR lpszUrlPath;
00315 DWORD dwUrlPathLength;
00316 LPSTR lpszExtraInfo;
00317 DWORD dwExtraInfoLength;
00318 } URL_COMPONENTSA, * LPURL_COMPONENTSA;
00319 typedef struct {
00320 DWORD dwStructSize;
00321 LPWSTR lpszScheme;
00322 DWORD dwSchemeLength;
00323 INTERNET_SCHEME nScheme;
00324 LPWSTR lpszHostName;
00325 DWORD dwHostNameLength;
00326 INTERNET_PORT nPort;
00327 LPWSTR lpszUserName;
00328 DWORD dwUserNameLength;
00329 LPWSTR lpszPassword;
00330 DWORD dwPasswordLength;
00331 LPWSTR lpszUrlPath;
00332 DWORD dwUrlPathLength;
00333 LPWSTR lpszExtraInfo;
00334 DWORD dwExtraInfoLength;
00335 } URL_COMPONENTSW, * LPURL_COMPONENTSW;
00336 #ifdef UNICODE
00337 typedef URL_COMPONENTSW URL_COMPONENTS;
00338 typedef LPURL_COMPONENTSW LPURL_COMPONENTS;
00339 #else
00340 typedef URL_COMPONENTSA URL_COMPONENTS;
00341 typedef LPURL_COMPONENTSA LPURL_COMPONENTS;
00342 #endif
00343
00344 #pragma warning( default : 4121 )
00345
00346 typedef struct {
00347
00348
00349
00350
00351
00352 FILETIME ftExpiry;
00353
00354
00355
00356
00357
00358 FILETIME ftStart;
00359
00360
00361
00362
00363
00364
00365 LPTSTR lpszSubjectInfo;
00366
00367
00368
00369
00370
00371
00372 LPTSTR lpszIssuerInfo;
00373
00374
00375
00376
00377
00378
00379 LPTSTR lpszProtocolName;
00380
00381
00382
00383
00384
00385
00386 LPTSTR lpszSignatureAlgName;
00387
00388
00389
00390
00391
00392
00393 LPTSTR lpszEncryptionAlgName;
00394
00395
00396
00397
00398
00399 DWORD dwKeySize;
00400
00401 } INTERNET_CERTIFICATE_INFO, * LPINTERNET_CERTIFICATE_INFO;
00402
00403 typedef struct _INTERNET_BUFFERSA {
00404 DWORD dwStructSize;
00405 struct _INTERNET_BUFFERSA * Next;
00406 LPCSTR lpcszHeader;
00407 DWORD dwHeadersLength;
00408 DWORD dwHeadersTotal;
00409 LPVOID lpvBuffer;
00410 DWORD dwBufferLength;
00411 DWORD dwBufferTotal;
00412 DWORD dwOffsetLow;
00413 DWORD dwOffsetHigh;
00414 } INTERNET_BUFFERSA, * LPINTERNET_BUFFERSA;
00415 typedef struct _INTERNET_BUFFERSW {
00416 DWORD dwStructSize;
00417 struct _INTERNET_BUFFERSW * Next;
00418 LPCWSTR lpcszHeader;
00419 DWORD dwHeadersLength;
00420 DWORD dwHeadersTotal;
00421 LPVOID lpvBuffer;
00422 DWORD dwBufferLength;
00423 DWORD dwBufferTotal;
00424 DWORD dwOffsetLow;
00425 DWORD dwOffsetHigh;
00426 } INTERNET_BUFFERSW, * LPINTERNET_BUFFERSW;
00427 #ifdef UNICODE
00428 typedef INTERNET_BUFFERSW INTERNET_BUFFERS;
00429 typedef LPINTERNET_BUFFERSW LPINTERNET_BUFFERS;
00430 #else
00431 typedef INTERNET_BUFFERSA INTERNET_BUFFERS;
00432 typedef LPINTERNET_BUFFERSA LPINTERNET_BUFFERS;
00433 #endif
00434
00435 BOOLAPI
00436 InternetTimeFromSystemTimeA(
00437 IN CONST SYSTEMTIME *pst,
00438 IN DWORD dwRFC,
00439 OUT LPSTR lpszTime,
00440 IN DWORD cbTime
00441 );
00442
00443 BOOLAPI
00444 InternetTimeFromSystemTimeW(
00445 IN CONST SYSTEMTIME *pst,
00446 IN DWORD dwRFC,
00447 OUT LPWSTR lpszTime,
00448 IN DWORD cbTime
00449 );
00450
00451 #ifdef UNICODE
00452 #define InternetTimeFromSystemTime InternetTimeFromSystemTimeW
00453 #else
00454 #ifdef _WINX32_
00455 #define InternetTimeFromSystemTime InternetTimeFromSystemTimeA
00456 #else
00457 BOOLAPI
00458 InternetTimeFromSystemTime(
00459 IN CONST SYSTEMTIME *pst,
00460 IN DWORD dwRFC,
00461 OUT LPSTR lpszTime,
00462 IN DWORD cbTime
00463 );
00464 #endif
00465 #endif
00466
00467 #define INTERNET_RFC1123_FORMAT 0
00468 #define INTERNET_RFC1123_BUFSIZE 30
00469
00470 BOOLAPI
00471 InternetTimeToSystemTimeA(
00472 IN LPCSTR lpszTime,
00473 OUT SYSTEMTIME *pst,
00474 IN DWORD dwReserved
00475 );
00476
00477 BOOLAPI
00478 InternetTimeToSystemTimeW(
00479 IN LPCWSTR lpszTime,
00480 OUT SYSTEMTIME *pst,
00481 IN DWORD dwReserved
00482 );
00483
00484 #ifdef UNICODE
00485 #define InternetTimeToSystemTime InternetTimeToSystemTimeW
00486 #else
00487 #ifdef _WINX32_
00488 #define InternetTimeToSystemTime InternetTimeToSystemTimeA
00489 #else
00490 BOOLAPI
00491 InternetTimeToSystemTime(
00492 IN LPCSTR lpszTime,
00493 OUT SYSTEMTIME *pst,
00494 IN DWORD dwReserved
00495 );
00496 #endif
00497 #endif
00498
00499 BOOLAPI
00500 InternetCrackUrlA(
00501 IN LPCSTR lpszUrl,
00502 IN DWORD dwUrlLength,
00503 IN DWORD dwFlags,
00504 IN OUT LPURL_COMPONENTSA lpUrlComponents
00505 );
00506 BOOLAPI
00507 InternetCrackUrlW(
00508 IN LPCWSTR lpszUrl,
00509 IN DWORD dwUrlLength,
00510 IN DWORD dwFlags,
00511 IN OUT LPURL_COMPONENTSW lpUrlComponents
00512 );
00513 #ifdef UNICODE
00514 #define InternetCrackUrl InternetCrackUrlW
00515 #else
00516 #define InternetCrackUrl InternetCrackUrlA
00517 #endif
00518
00519 BOOLAPI
00520 InternetCreateUrlA(
00521 IN LPURL_COMPONENTSA lpUrlComponents,
00522 IN DWORD dwFlags,
00523 OUT LPSTR lpszUrl,
00524 IN OUT LPDWORD lpdwUrlLength
00525 );
00526 BOOLAPI
00527 InternetCreateUrlW(
00528 IN LPURL_COMPONENTSW lpUrlComponents,
00529 IN DWORD dwFlags,
00530 OUT LPWSTR lpszUrl,
00531 IN OUT LPDWORD lpdwUrlLength
00532 );
00533 #ifdef UNICODE
00534 #define InternetCreateUrl InternetCreateUrlW
00535 #else
00536 #define InternetCreateUrl InternetCreateUrlA
00537 #endif
00538
00539 BOOLAPI
00540 InternetCanonicalizeUrlA(
00541 IN LPCSTR lpszUrl,
00542 OUT LPSTR lpszBuffer,
00543 IN OUT LPDWORD lpdwBufferLength,
00544 IN DWORD dwFlags
00545 );
00546 BOOLAPI
00547 InternetCanonicalizeUrlW(
00548 IN LPCWSTR lpszUrl,
00549 OUT LPWSTR lpszBuffer,
00550 IN OUT LPDWORD lpdwBufferLength,
00551 IN DWORD dwFlags
00552 );
00553 #ifdef UNICODE
00554 #define InternetCanonicalizeUrl InternetCanonicalizeUrlW
00555 #else
00556 #define InternetCanonicalizeUrl InternetCanonicalizeUrlA
00557 #endif
00558
00559 BOOLAPI
00560 InternetCombineUrlA(
00561 IN LPCSTR lpszBaseUrl,
00562 IN LPCSTR lpszRelativeUrl,
00563 OUT LPSTR lpszBuffer,
00564 IN OUT LPDWORD lpdwBufferLength,
00565 IN DWORD dwFlags
00566 );
00567 BOOLAPI
00568 InternetCombineUrlW(
00569 IN LPCWSTR lpszBaseUrl,
00570 IN LPCWSTR lpszRelativeUrl,
00571 OUT LPWSTR lpszBuffer,
00572 IN OUT LPDWORD lpdwBufferLength,
00573 IN DWORD dwFlags
00574 );
00575 #ifdef UNICODE
00576 #define InternetCombineUrl InternetCombineUrlW
00577 #else
00578 #define InternetCombineUrl InternetCombineUrlA
00579 #endif
00580
00581 #define ICU_ESCAPE 0x80000000
00582 #define ICU_USERNAME 0x40000000
00583
00584 #define ICU_NO_ENCODE 0x20000000
00585 #define ICU_DECODE 0x10000000
00586 #define ICU_NO_META 0x08000000
00587 #define ICU_ENCODE_SPACES_ONLY 0x04000000
00588 #define ICU_BROWSER_MODE 0x02000000
00589 #define ICU_ENCODE_PERCENT 0x00001000
00590
00591
00592 INTERNETAPI
00593 HINTERNET
00594 WINAPI
00595 InternetOpenA(
00596 IN LPCSTR lpszAgent,
00597 IN DWORD dwAccessType,
00598 IN LPCSTR lpszProxy OPTIONAL,
00599 IN LPCSTR lpszProxyBypass OPTIONAL,
00600 IN DWORD dwFlags
00601 );
00602 INTERNETAPI
00603 HINTERNET
00604 WINAPI
00605 InternetOpenW(
00606 IN LPCWSTR lpszAgent,
00607 IN DWORD dwAccessType,
00608 IN LPCWSTR lpszProxy OPTIONAL,
00609 IN LPCWSTR lpszProxyBypass OPTIONAL,
00610 IN DWORD dwFlags
00611 );
00612 #ifdef UNICODE
00613 #define InternetOpen InternetOpenW
00614 #else
00615 #define InternetOpen InternetOpenA
00616 #endif
00617
00618 #define INTERNET_OPEN_TYPE_PRECONFIG 0
00619 #define INTERNET_OPEN_TYPE_DIRECT 1
00620 #define INTERNET_OPEN_TYPE_PROXY 3
00621 #define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4
00622
00623 #define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG
00624 #define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT
00625 #define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY
00626
00627 BOOLAPI
00628 InternetCloseHandle(
00629 IN HINTERNET hInternet
00630 );
00631
00632 INTERNETAPI
00633 HINTERNET
00634 WINAPI
00635 InternetConnectA(
00636 IN HINTERNET hInternet,
00637 IN LPCSTR lpszServerName,
00638 IN INTERNET_PORT nServerPort,
00639 IN LPCSTR lpszUserName OPTIONAL,
00640 IN LPCSTR lpszPassword OPTIONAL,
00641 IN DWORD dwService,
00642 IN DWORD dwFlags,
00643 IN DWORD_PTR dwContext
00644 );
00645 INTERNETAPI
00646 HINTERNET
00647 WINAPI
00648 InternetConnectW(
00649 IN HINTERNET hInternet,
00650 IN LPCWSTR lpszServerName,
00651 IN INTERNET_PORT nServerPort,
00652 IN LPCWSTR lpszUserName OPTIONAL,
00653 IN LPCWSTR lpszPassword OPTIONAL,
00654 IN DWORD dwService,
00655 IN DWORD dwFlags,
00656 IN DWORD_PTR dwContext
00657 );
00658 #ifdef UNICODE
00659 #define InternetConnect InternetConnectW
00660 #else
00661 #define InternetConnect InternetConnectA
00662 #endif
00663
00664 #define INTERNET_SERVICE_FTP 1
00665 #define INTERNET_SERVICE_GOPHER 2
00666 #define INTERNET_SERVICE_HTTP 3
00667
00668 INTERNETAPI
00669 HINTERNET
00670 WINAPI
00671 InternetOpenUrlA(
00672 IN HINTERNET hInternet,
00673 IN LPCSTR lpszUrl,
00674 IN LPCSTR lpszHeaders OPTIONAL,
00675 IN DWORD dwHeadersLength,
00676 IN DWORD dwFlags,
00677 IN DWORD_PTR dwContext
00678 );
00679 INTERNETAPI
00680 HINTERNET
00681 WINAPI
00682 InternetOpenUrlW(
00683 IN HINTERNET hInternet,
00684 IN LPCWSTR lpszUrl,
00685 IN LPCWSTR lpszHeaders OPTIONAL,
00686 IN DWORD dwHeadersLength,
00687 IN DWORD dwFlags,
00688 IN DWORD_PTR dwContext
00689 );
00690 #ifdef UNICODE
00691 #define InternetOpenUrl InternetOpenUrlW
00692 #else
00693 #define InternetOpenUrl InternetOpenUrlA
00694 #endif
00695
00696 BOOLAPI
00697 InternetReadFile(
00698 IN HINTERNET hFile,
00699 IN LPVOID lpBuffer,
00700 IN DWORD dwNumberOfBytesToRead,
00701 OUT LPDWORD lpdwNumberOfBytesRead
00702 );
00703
00704 INTERNETAPI
00705 BOOL
00706 WINAPI
00707 InternetReadFileExA(
00708 IN HINTERNET hFile,
00709 OUT LPINTERNET_BUFFERSA lpBuffersOut,
00710 IN DWORD dwFlags,
00711 IN DWORD_PTR dwContext
00712 );
00713 INTERNETAPI
00714 BOOL
00715 WINAPI
00716 InternetReadFileExW(
00717 IN HINTERNET hFile,
00718 OUT LPINTERNET_BUFFERSW lpBuffersOut,
00719 IN DWORD dwFlags,
00720 IN DWORD_PTR dwContext
00721 );
00722 #ifdef UNICODE
00723 #define InternetReadFileEx InternetReadFileExW
00724 #else
00725 #define InternetReadFileEx InternetReadFileExA
00726 #endif
00727
00728 #define IRF_ASYNC WININET_API_FLAG_ASYNC
00729 #define IRF_SYNC WININET_API_FLAG_SYNC
00730 #define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
00731 #define IRF_NO_WAIT 0x00000008
00732
00733 INTERNETAPI
00734 DWORD
00735 WINAPI
00736 InternetSetFilePointer(
00737 IN HINTERNET hFile,
00738 IN LONG lDistanceToMove,
00739 IN PVOID pReserved,
00740 IN DWORD dwMoveMethod,
00741 IN DWORD_PTR dwContext
00742 );
00743
00744 BOOLAPI
00745 InternetWriteFile(
00746 IN HINTERNET hFile,
00747 IN LPCVOID lpBuffer,
00748 IN DWORD dwNumberOfBytesToWrite,
00749 OUT LPDWORD lpdwNumberOfBytesWritten
00750 );
00751
00752 BOOLAPI
00753 InternetQueryDataAvailable(
00754 IN HINTERNET hFile,
00755 OUT LPDWORD lpdwNumberOfBytesAvailable OPTIONAL,
00756 IN DWORD dwFlags,
00757 IN DWORD_PTR dwContext
00758 );
00759
00760 BOOLAPI
00761 InternetFindNextFileA(
00762 IN HINTERNET hFind,
00763 OUT LPVOID lpvFindData
00764 );
00765 BOOLAPI
00766 InternetFindNextFileW(
00767 IN HINTERNET hFind,
00768 OUT LPVOID lpvFindData
00769 );
00770 #ifdef UNICODE
00771 #define InternetFindNextFile InternetFindNextFileW
00772 #else
00773 #define InternetFindNextFile InternetFindNextFileA
00774 #endif
00775
00776 BOOLAPI
00777 InternetQueryOptionA(
00778 IN HINTERNET hInternet OPTIONAL,
00779 IN DWORD dwOption,
00780 OUT LPVOID lpBuffer OPTIONAL,
00781 IN OUT LPDWORD lpdwBufferLength
00782 );
00783 BOOLAPI
00784 InternetQueryOptionW(
00785 IN HINTERNET hInternet OPTIONAL,
00786 IN DWORD dwOption,
00787 OUT LPVOID lpBuffer OPTIONAL,
00788 IN OUT LPDWORD lpdwBufferLength
00789 );
00790 #ifdef UNICODE
00791 #define InternetQueryOption InternetQueryOptionW
00792 #else
00793 #define InternetQueryOption InternetQueryOptionA
00794 #endif
00795
00796 BOOLAPI
00797 InternetSetOptionA(
00798 IN HINTERNET hInternet OPTIONAL,
00799 IN DWORD dwOption,
00800 IN LPVOID lpBuffer,
00801 IN DWORD dwBufferLength
00802 );
00803 BOOLAPI
00804 InternetSetOptionW(
00805 IN HINTERNET hInternet OPTIONAL,
00806 IN DWORD dwOption,
00807 IN LPVOID lpBuffer,
00808 IN DWORD dwBufferLength
00809 );
00810 #ifdef UNICODE
00811 #define InternetSetOption InternetSetOptionW
00812 #else
00813 #define InternetSetOption InternetSetOptionA
00814 #endif
00815
00816 BOOLAPI
00817 InternetSetOptionExA(
00818 IN HINTERNET hInternet OPTIONAL,
00819 IN DWORD dwOption,
00820 IN LPVOID lpBuffer,
00821 IN DWORD dwBufferLength,
00822 IN DWORD dwFlags
00823 );
00824 BOOLAPI
00825 InternetSetOptionExW(
00826 IN HINTERNET hInternet OPTIONAL,
00827 IN DWORD dwOption,
00828 IN LPVOID lpBuffer,
00829 IN DWORD dwBufferLength,
00830 IN DWORD dwFlags
00831 );
00832 #ifdef UNICODE
00833 #define InternetSetOptionEx InternetSetOptionExW
00834 #else
00835 #define InternetSetOptionEx InternetSetOptionExA
00836 #endif
00837
00838 BOOLAPI
00839 InternetLockRequestFile(
00840 IN HINTERNET hInternet,
00841 OUT HANDLE * lphLockRequestInfo
00842 );
00843
00844 BOOLAPI
00845 InternetUnlockRequestFile(
00846 IN HANDLE hLockRequestInfo
00847 );
00848
00849 #define ISO_GLOBAL 0x00000001
00850 #define ISO_REGISTRY 0x00000002
00851
00852 #define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
00853
00854 #define INTERNET_OPTION_CALLBACK 1
00855 #define INTERNET_OPTION_CONNECT_TIMEOUT 2
00856 #define INTERNET_OPTION_CONNECT_RETRIES 3
00857 #define INTERNET_OPTION_CONNECT_BACKOFF 4
00858 #define INTERNET_OPTION_SEND_TIMEOUT 5
00859 #define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT
00860 #define INTERNET_OPTION_RECEIVE_TIMEOUT 6
00861 #define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
00862 #define INTERNET_OPTION_DATA_SEND_TIMEOUT 7
00863 #define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8
00864 #define INTERNET_OPTION_HANDLE_TYPE 9
00865 #define INTERNET_OPTION_LISTEN_TIMEOUT 11
00866 #define INTERNET_OPTION_READ_BUFFER_SIZE 12
00867 #define INTERNET_OPTION_WRITE_BUFFER_SIZE 13
00868
00869 #define INTERNET_OPTION_ASYNC_ID 15
00870 #define INTERNET_OPTION_ASYNC_PRIORITY 16
00871
00872 #define INTERNET_OPTION_PARENT_HANDLE 21
00873 #define INTERNET_OPTION_KEEP_CONNECTION 22
00874 #define INTERNET_OPTION_REQUEST_FLAGS 23
00875 #define INTERNET_OPTION_EXTENDED_ERROR 24
00876
00877 #define INTERNET_OPTION_OFFLINE_MODE 26
00878 #define INTERNET_OPTION_CACHE_STREAM_HANDLE 27
00879 #define INTERNET_OPTION_USERNAME 28
00880 #define INTERNET_OPTION_PASSWORD 29
00881 #define INTERNET_OPTION_ASYNC 30
00882 #define INTERNET_OPTION_SECURITY_FLAGS 31
00883 #define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
00884 #define INTERNET_OPTION_DATAFILE_NAME 33
00885 #define INTERNET_OPTION_URL 34
00886 #define INTERNET_OPTION_SECURITY_CERTIFICATE 35
00887 #define INTERNET_OPTION_SECURITY_KEY_BITNESS 36
00888 #define INTERNET_OPTION_REFRESH 37
00889 #define INTERNET_OPTION_PROXY 38
00890 #define INTERNET_OPTION_SETTINGS_CHANGED 39
00891 #define INTERNET_OPTION_VERSION 40
00892 #define INTERNET_OPTION_USER_AGENT 41
00893 #define INTERNET_OPTION_END_BROWSER_SESSION 42
00894 #define INTERNET_OPTION_PROXY_USERNAME 43
00895 #define INTERNET_OPTION_PROXY_PASSWORD 44
00896 #define INTERNET_OPTION_CONTEXT_VALUE 45
00897 #define INTERNET_OPTION_CONNECT_LIMIT 46
00898 #define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47
00899 #define INTERNET_OPTION_POLICY 48
00900 #define INTERNET_OPTION_DISCONNECTED_TIMEOUT 49
00901 #define INTERNET_OPTION_CONNECTED_STATE 50
00902 #define INTERNET_OPTION_IDLE_STATE 51
00903 #define INTERNET_OPTION_OFFLINE_SEMANTICS 52
00904 #define INTERNET_OPTION_SECONDARY_CACHE_KEY 53
00905 #define INTERNET_OPTION_CALLBACK_FILTER 54
00906 #define INTERNET_OPTION_CONNECT_TIME 55
00907 #define INTERNET_OPTION_SEND_THROUGHPUT 56
00908 #define INTERNET_OPTION_RECEIVE_THROUGHPUT 57
00909 #define INTERNET_OPTION_REQUEST_PRIORITY 58
00910 #define INTERNET_OPTION_HTTP_VERSION 59
00911 #define INTERNET_OPTION_RESET_URLCACHE_SESSION 60
00912 #define INTERNET_OPTION_ERROR_MASK 62
00913 #define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63
00914 #define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64
00915 #define INTERNET_OPTION_CODEPAGE 68
00916 #define INTERNET_OPTION_CACHE_TIMESTAMPS 69
00917 #define INTERNET_OPTION_DISABLE_AUTODIAL 70
00918 #define INTERNET_OPTION_MAX_CONNS_PER_SERVER 73
00919 #define INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER 74
00920 #define INTERNET_OPTION_PER_CONNECTION_OPTION 75
00921 #define INTERNET_OPTION_DIGEST_AUTH_UNLOAD 76
00922 #define INTERNET_OPTION_IGNORE_OFFLINE 77
00923
00924 #define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
00925 #define INTERNET_LAST_OPTION INTERNET_OPTION_IGNORE_OFFLINE
00926
00927 #define INTERNET_PRIORITY_FOREGROUND 1000
00928
00929 #define INTERNET_HANDLE_TYPE_INTERNET 1
00930 #define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
00931 #define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
00932 #define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4
00933 #define INTERNET_HANDLE_TYPE_FTP_FIND 5
00934 #define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6
00935 #define INTERNET_HANDLE_TYPE_FTP_FILE 7
00936 #define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8
00937 #define INTERNET_HANDLE_TYPE_GOPHER_FIND 9
00938 #define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10
00939 #define INTERNET_HANDLE_TYPE_GOPHER_FILE 11
00940 #define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12
00941 #define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13
00942 #define INTERNET_HANDLE_TYPE_FILE_REQUEST 14
00943
00944 #define SECURITY_FLAG_SECURE 0x00000001
00945 #define SECURITY_FLAG_STRENGTH_WEAK 0x10000000
00946 #define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000
00947 #define SECURITY_FLAG_STRENGTH_STRONG 0x20000000
00948 #define SECURITY_FLAG_UNKNOWNBIT 0x80000000
00949 #define SECURITY_FLAG_FORTEZZA 0x08000000
00950 #define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_STRENGTH_WEAK
00951
00952 #define SECURITY_FLAG_SSL 0x00000002
00953 #define SECURITY_FLAG_SSL3 0x00000004
00954 #define SECURITY_FLAG_PCT 0x00000008
00955 #define SECURITY_FLAG_PCT4 0x00000010
00956 #define SECURITY_FLAG_IETFSSL4 0x00000020
00957
00958 #define SECURITY_FLAG_40BIT SECURITY_FLAG_STRENGTH_WEAK
00959 #define SECURITY_FLAG_128BIT SECURITY_FLAG_STRENGTH_STRONG
00960 #define SECURITY_FLAG_56BIT SECURITY_FLAG_STRENGTH_MEDIUM
00961
00962 #define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
00963 #define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
00964 #define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
00965
00966 #define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
00967 #define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
00968
00969 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
00970 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
00971
00972 #define SECURITY_SET_MASK (SECURITY_FLAG_IGNORE_REVOCATION |\
00973 SECURITY_FLAG_IGNORE_UNKNOWN_CA |\
00974 SECURITY_FLAG_IGNORE_CERT_CN_INVALID |\
00975 SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |\
00976 SECURITY_FLAG_IGNORE_WRONG_USAGE)
00977
00978 BOOLAPI
00979 InternetGetLastResponseInfoA(
00980 OUT LPDWORD lpdwError,
00981 OUT LPSTR lpszBuffer OPTIONAL,
00982 IN OUT LPDWORD lpdwBufferLength
00983 );
00984 BOOLAPI
00985 InternetGetLastResponseInfoW(
00986 OUT LPDWORD lpdwError,
00987 OUT LPWSTR lpszBuffer OPTIONAL,
00988 IN OUT LPDWORD lpdwBufferLength
00989 );
00990 #ifdef UNICODE
00991 #define InternetGetLastResponseInfo InternetGetLastResponseInfoW
00992 #else
00993 #define InternetGetLastResponseInfo InternetGetLastResponseInfoA
00994 #endif
00995
00996 typedef
00997 VOID
00998 (CALLBACK * INTERNET_STATUS_CALLBACK)(
00999 IN HINTERNET hInternet,
01000 IN DWORD_PTR dwContext,
01001 IN DWORD dwInternetStatus,
01002 IN LPVOID lpvStatusInformation OPTIONAL,
01003 IN DWORD dwStatusInformationLength
01004 );
01005
01006 typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
01007
01008 INTERNETAPI
01009 INTERNET_STATUS_CALLBACK
01010 WINAPI
01011 InternetSetStatusCallbackA(
01012 IN HINTERNET hInternet,
01013 IN INTERNET_STATUS_CALLBACK lpfnInternetCallback
01014 );
01015
01016 INTERNETAPI
01017 INTERNET_STATUS_CALLBACK
01018 WINAPI
01019 InternetSetStatusCallbackW(
01020 IN HINTERNET hInternet,
01021 IN INTERNET_STATUS_CALLBACK lpfnInternetCallback
01022 );
01023
01024 #ifdef UNICODE
01025 #define InternetSetStatusCallback InternetSetStatusCallbackW
01026 #else
01027 #ifdef _WINX32_
01028 #define InternetSetStatusCallback InternetSetStatusCallbackA
01029 #else
01030 INTERNETAPI
01031 INTERNET_STATUS_CALLBACK
01032 WINAPI
01033 InternetSetStatusCallback(
01034 IN HINTERNET hInternet,
01035 IN INTERNET_STATUS_CALLBACK lpfnInternetCallback
01036 );
01037 #endif
01038 #endif
01039
01040 #define INTERNET_STATUS_RESOLVING_NAME 10
01041 #define INTERNET_STATUS_NAME_RESOLVED 11
01042 #define INTERNET_STATUS_CONNECTING_TO_SERVER 20
01043 #define INTERNET_STATUS_CONNECTED_TO_SERVER 21
01044 #define INTERNET_STATUS_SENDING_REQUEST 30
01045 #define INTERNET_STATUS_REQUEST_SENT 31
01046 #define INTERNET_STATUS_RECEIVING_RESPONSE 40
01047 #define INTERNET_STATUS_RESPONSE_RECEIVED 41
01048 #define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42
01049 #define INTERNET_STATUS_PREFETCH 43
01050 #define INTERNET_STATUS_CLOSING_CONNECTION 50
01051 #define INTERNET_STATUS_CONNECTION_CLOSED 51
01052 #define INTERNET_STATUS_HANDLE_CREATED 60
01053 #define INTERNET_STATUS_HANDLE_CLOSING 70
01054 #define INTERNET_STATUS_DETECTING_PROXY 80
01055 #define INTERNET_STATUS_REQUEST_COMPLETE 100
01056 #define INTERNET_STATUS_REDIRECT 110
01057 #define INTERNET_STATUS_INTERMEDIATE_RESPONSE 120
01058 #define INTERNET_STATUS_USER_INPUT_REQUIRED 140
01059 #define INTERNET_STATUS_STATE_CHANGE 200
01060
01061 #define INTERNET_STATE_CONNECTED 0x00000001
01062 #define INTERNET_STATE_DISCONNECTED 0x00000002
01063 #define INTERNET_STATE_DISCONNECTED_BY_USER 0x00000010
01064 #define INTERNET_STATE_IDLE 0x00000100
01065 #define INTERNET_STATE_BUSY 0x00000200
01066
01067 #define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L))
01068
01069 #define FTP_TRANSFER_TYPE_UNKNOWN 0x00000000
01070 #define FTP_TRANSFER_TYPE_ASCII 0x00000001
01071 #define FTP_TRANSFER_TYPE_BINARY 0x00000002
01072
01073 #define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
01074
01075 INTERNETAPI
01076 HINTERNET
01077 WINAPI
01078 FtpFindFirstFileA(
01079 IN HINTERNET hConnect,
01080 IN LPCSTR lpszSearchFile OPTIONAL,
01081 OUT LPWIN32_FIND_DATAA lpFindFileData OPTIONAL,
01082 IN DWORD dwFlags,
01083 IN DWORD_PTR dwContext
01084 );
01085 INTERNETAPI
01086 HINTERNET
01087 WINAPI
01088 FtpFindFirstFileW(
01089 IN HINTERNET hConnect,
01090 IN LPCWSTR lpszSearchFile OPTIONAL,
01091 OUT LPWIN32_FIND_DATAW lpFindFileData OPTIONAL,
01092 IN DWORD dwFlags,
01093 IN DWORD_PTR dwContext
01094 );
01095 #ifdef UNICODE
01096 #define FtpFindFirstFile FtpFindFirstFileW
01097 #else
01098 #define FtpFindFirstFile FtpFindFirstFileA
01099 #endif
01100
01101 BOOLAPI
01102 FtpGetFileA(
01103 IN HINTERNET hConnect,
01104 IN LPCSTR lpszRemoteFile,
01105 IN LPCSTR lpszNewFile,
01106 IN BOOL fFailIfExists,
01107 IN DWORD dwFlagsAndAttributes,
01108 IN DWORD dwFlags,
01109 IN DWORD_PTR dwContext
01110 );
01111 BOOLAPI
01112 FtpGetFileW(
01113 IN HINTERNET hConnect,
01114 IN LPCWSTR lpszRemoteFile,
01115 IN LPCWSTR lpszNewFile,
01116 IN BOOL fFailIfExists,
01117 IN DWORD dwFlagsAndAttributes,
01118 IN DWORD dwFlags,
01119 IN DWORD_PTR dwContext
01120 );
01121 #ifdef UNICODE
01122 #define FtpGetFile FtpGetFileW
01123 #else
01124 #define FtpGetFile FtpGetFileA
01125 #endif
01126
01127 BOOLAPI
01128 FtpPutFileA(
01129 IN HINTERNET hConnect,
01130 IN LPCSTR lpszLocalFile,
01131 IN LPCSTR lpszNewRemoteFile,
01132 IN DWORD dwFlags,
01133 IN DWORD_PTR dwContext
01134 );
01135 BOOLAPI
01136 FtpPutFileW(
01137 IN HINTERNET hConnect,
01138 IN LPCWSTR lpszLocalFile,
01139 IN LPCWSTR lpszNewRemoteFile,
01140 IN DWORD dwFlags,
01141 IN DWORD_PTR dwContext
01142 );
01143 #ifdef UNICODE
01144 #define FtpPutFile FtpPutFileW
01145 #else
01146 #define FtpPutFile FtpPutFileA
01147 #endif
01148
01149 BOOLAPI
01150 FtpGetFileEx(
01151 IN HINTERNET hFtpSession,
01152 IN LPCSTR lpszRemoteFile,
01153 IN LPCWSTR lpszNewFile,
01154 IN BOOL fFailIfExists,
01155 IN DWORD dwFlagsAndAttributes,
01156 IN DWORD dwFlags,
01157 IN DWORD_PTR dwContext
01158 );
01159
01160 BOOLAPI
01161 FtpPutFileEx(
01162 IN HINTERNET hFtpSession,
01163 IN LPCWSTR lpszLocalFile,
01164 IN LPCSTR lpszNewRemoteFile,
01165 IN DWORD dwFlags,
01166 IN DWORD_PTR dwContext
01167 );
01168
01169 BOOLAPI
01170 FtpDeleteFileA(
01171 IN HINTERNET hConnect,
01172 IN LPCSTR lpszFileName
01173 );
01174 BOOLAPI
01175 FtpDeleteFileW(
01176 IN HINTERNET hConnect,
01177 IN LPCWSTR lpszFileName
01178 );
01179 #ifdef UNICODE
01180 #define FtpDeleteFile FtpDeleteFileW
01181 #else
01182 #define FtpDeleteFile FtpDeleteFileA
01183 #endif
01184
01185 BOOLAPI
01186 FtpRenameFileA(
01187 IN HINTERNET hConnect,
01188 IN LPCSTR lpszExisting,
01189 IN LPCSTR lpszNew
01190 );
01191 BOOLAPI
01192 FtpRenameFileW(
01193 IN HINTERNET hConnect,
01194 IN LPCWSTR lpszExisting,
01195 IN LPCWSTR lpszNew
01196 );
01197 #ifdef UNICODE
01198 #define FtpRenameFile FtpRenameFileW
01199 #else
01200 #define FtpRenameFile FtpRenameFileA
01201 #endif
01202
01203 INTERNETAPI
01204 HINTERNET
01205 WINAPI
01206 FtpOpenFileA(
01207 IN HINTERNET hConnect,
01208 IN LPCSTR lpszFileName,
01209 IN DWORD dwAccess,
01210 IN DWORD dwFlags,
01211 IN DWORD_PTR dwContext
01212 );
01213 INTERNETAPI
01214 HINTERNET
01215 WINAPI
01216 FtpOpenFileW(
01217 IN HINTERNET hConnect,
01218 IN LPCWSTR lpszFileName,
01219 IN DWORD dwAccess,
01220 IN DWORD dwFlags,
01221 IN DWORD_PTR dwContext
01222 );
01223 #ifdef UNICODE
01224 #define FtpOpenFile FtpOpenFileW
01225 #else
01226 #define FtpOpenFile FtpOpenFileA
01227 #endif
01228
01229 BOOLAPI
01230 FtpCreateDirectoryA(
01231 IN HINTERNET hConnect,
01232 IN LPCSTR lpszDirectory
01233 );
01234 BOOLAPI
01235 FtpCreateDirectoryW(
01236 IN HINTERNET hConnect,
01237 IN LPCWSTR lpszDirectory
01238 );
01239 #ifdef UNICODE
01240 #define FtpCreateDirectory FtpCreateDirectoryW
01241 #else
01242 #define FtpCreateDirectory FtpCreateDirectoryA
01243 #endif
01244
01245 BOOLAPI
01246 FtpRemoveDirectoryA(
01247 IN HINTERNET hConnect,
01248 IN LPCSTR lpszDirectory
01249 );
01250 BOOLAPI
01251 FtpRemoveDirectoryW(
01252 IN HINTERNET hConnect,
01253 IN LPCWSTR lpszDirectory
01254 );
01255 #ifdef UNICODE
01256 #define FtpRemoveDirectory FtpRemoveDirectoryW
01257 #else
01258 #define FtpRemoveDirectory FtpRemoveDirectoryA
01259 #endif
01260
01261 BOOLAPI
01262 FtpSetCurrentDirectoryA(
01263 IN HINTERNET hConnect,
01264 IN LPCSTR lpszDirectory
01265 );
01266 BOOLAPI
01267 FtpSetCurrentDirectoryW(
01268 IN HINTERNET hConnect,
01269 IN LPCWSTR lpszDirectory
01270 );
01271 #ifdef UNICODE
01272 #define FtpSetCurrentDirectory FtpSetCurrentDirectoryW
01273 #else
01274 #define FtpSetCurrentDirectory FtpSetCurrentDirectoryA
01275 #endif
01276
01277 BOOLAPI
01278 FtpGetCurrentDirectoryA(
01279 IN HINTERNET hConnect,
01280 OUT LPSTR lpszCurrentDirectory,
01281 IN OUT LPDWORD lpdwCurrentDirectory
01282 );
01283 BOOLAPI
01284 FtpGetCurrentDirectoryW(
01285 IN HINTERNET hConnect,
01286 OUT LPWSTR lpszCurrentDirectory,
01287 IN OUT LPDWORD lpdwCurrentDirectory
01288 );
01289 #ifdef UNICODE
01290 #define FtpGetCurrentDirectory FtpGetCurrentDirectoryW
01291 #else
01292 #define FtpGetCurrentDirectory FtpGetCurrentDirectoryA
01293 #endif
01294
01295 BOOLAPI
01296 FtpCommandA(
01297 IN HINTERNET hConnect,
01298 IN BOOL fExpectResponse,
01299 IN DWORD dwFlags,
01300 IN LPCSTR lpszCommand,
01301 IN DWORD_PTR dwContext,
01302 OUT HINTERNET *phFtpCommand OPTIONAL
01303 );
01304 BOOLAPI
01305 FtpCommandW(
01306 IN HINTERNET hConnect,
01307 IN BOOL fExpectResponse,
01308 IN DWORD dwFlags,
01309 IN LPCWSTR lpszCommand,
01310 IN DWORD_PTR dwContext,
01311 OUT HINTERNET *phFtpCommand OPTIONAL
01312 );
01313 #ifdef UNICODE
01314 #define FtpCommand FtpCommandW
01315 #else
01316 #define FtpCommand FtpCommandA
01317 #endif
01318
01319 INTERNETAPI
01320 DWORD
01321 WINAPI
01322 FtpGetFileSize(
01323 IN HINTERNET hFile,
01324 OUT LPDWORD lpdwFileSizeHigh OPTIONAL
01325 );
01326
01327 #define MAX_GOPHER_DISPLAY_TEXT 128
01328 #define MAX_GOPHER_SELECTOR_TEXT 256
01329 #define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH
01330 #define MAX_GOPHER_LOCATOR_LENGTH (1 \
01331 + MAX_GOPHER_DISPLAY_TEXT \
01332 + 1 \
01333 + MAX_GOPHER_SELECTOR_TEXT \
01334 + 1 \
01335 + MAX_GOPHER_HOST_NAME \
01336 + 1 \
01337 + INTERNET_MAX_PORT_NUMBER_LENGTH \
01338 + 1 \
01339 + 1 \
01340 + 2 \
01341 )
01342
01343 typedef struct {
01344 CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
01345 DWORD GopherType;
01346 DWORD SizeLow;
01347 DWORD SizeHigh;
01348 FILETIME LastModificationTime;
01349 CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
01350 } GOPHER_FIND_DATAA, * LPGOPHER_FIND_DATAA;
01351 typedef struct {
01352 WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
01353 DWORD GopherType;
01354 DWORD SizeLow;
01355 DWORD SizeHigh;
01356 FILETIME LastModificationTime;
01357 WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
01358 } GOPHER_FIND_DATAW, * LPGOPHER_FIND_DATAW;
01359 #ifdef UNICODE
01360 typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA;
01361 typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA;
01362 #else
01363 typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
01364 typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
01365 #endif
01366
01367 #define GOPHER_TYPE_TEXT_FILE 0x00000001
01368 #define GOPHER_TYPE_DIRECTORY 0x00000002
01369 #define GOPHER_TYPE_CSO 0x00000004
01370 #define GOPHER_TYPE_ERROR 0x00000008
01371 #define GOPHER_TYPE_MAC_BINHEX 0x00000010
01372 #define GOPHER_TYPE_DOS_ARCHIVE 0x00000020
01373 #define GOPHER_TYPE_UNIX_UUENCODED 0x00000040
01374 #define GOPHER_TYPE_INDEX_SERVER 0x00000080
01375 #define GOPHER_TYPE_TELNET 0x00000100
01376 #define GOPHER_TYPE_BINARY 0x00000200
01377 #define GOPHER_TYPE_REDUNDANT 0x00000400
01378 #define GOPHER_TYPE_TN3270 0x00000800
01379 #define GOPHER_TYPE_GIF 0x00001000
01380 #define GOPHER_TYPE_IMAGE 0x00002000
01381 #define GOPHER_TYPE_BITMAP 0x00004000
01382 #define GOPHER_TYPE_MOVIE 0x00008000
01383 #define GOPHER_TYPE_SOUND 0x00010000
01384 #define GOPHER_TYPE_HTML 0x00020000
01385 #define GOPHER_TYPE_PDF 0x00040000
01386 #define GOPHER_TYPE_CALENDAR 0x00080000
01387 #define GOPHER_TYPE_INLINE 0x00100000
01388 #define GOPHER_TYPE_UNKNOWN 0x20000000
01389 #define GOPHER_TYPE_ASK 0x40000000
01390 #define GOPHER_TYPE_GOPHER_PLUS 0x80000000
01391
01392 #define IS_GOPHER_FILE(type) (BOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE)
01393 #define IS_GOPHER_DIRECTORY(type) (BOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE)
01394 #define IS_GOPHER_PHONE_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE)
01395 #define IS_GOPHER_ERROR(type) (BOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE)
01396 #define IS_GOPHER_INDEX_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE)
01397 #define IS_GOPHER_TELNET_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE)
01398 #define IS_GOPHER_BACKUP_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE)
01399 #define IS_GOPHER_TN3270_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE)
01400 #define IS_GOPHER_ASK(type) (BOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE)
01401 #define IS_GOPHER_PLUS(type) (BOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE)
01402
01403 #define IS_GOPHER_TYPE_KNOWN(type) (BOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE)
01404
01405 #define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE \
01406 | GOPHER_TYPE_MAC_BINHEX \
01407 | GOPHER_TYPE_DOS_ARCHIVE \
01408 | GOPHER_TYPE_UNIX_UUENCODED \
01409 | GOPHER_TYPE_BINARY \
01410 | GOPHER_TYPE_GIF \
01411 | GOPHER_TYPE_IMAGE \
01412 | GOPHER_TYPE_BITMAP \
01413 | GOPHER_TYPE_MOVIE \
01414 | GOPHER_TYPE_SOUND \
01415 | GOPHER_TYPE_HTML \
01416 | GOPHER_TYPE_PDF \
01417 | GOPHER_TYPE_CALENDAR \
01418 | GOPHER_TYPE_INLINE \
01419 )
01420
01421 typedef struct {
01422 LPCTSTR Comment;
01423 LPCTSTR EmailAddress;
01424 } GOPHER_ADMIN_ATTRIBUTE_TYPE, * LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
01425
01426 typedef struct {
01427 FILETIME DateAndTime;
01428 } GOPHER_MOD_DATE_ATTRIBUTE_TYPE, * LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
01429
01430 typedef struct {
01431 DWORD Ttl;
01432 } GOPHER_TTL_ATTRIBUTE_TYPE, * LPGOPHER_TTL_ATTRIBUTE_TYPE;
01433
01434 typedef struct {
01435 INT Score;
01436 } GOPHER_SCORE_ATTRIBUTE_TYPE, * LPGOPHER_SCORE_ATTRIBUTE_TYPE;
01437
01438 typedef struct {
01439 INT LowerBound;
01440 INT UpperBound;
01441 } GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, * LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
01442
01443 typedef struct {
01444 LPCTSTR Site;
01445 } GOPHER_SITE_ATTRIBUTE_TYPE, * LPGOPHER_SITE_ATTRIBUTE_TYPE;
01446
01447 typedef struct {
01448 LPCTSTR Organization;
01449 } GOPHER_ORGANIZATION_ATTRIBUTE_TYPE, * LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
01450
01451 typedef struct {
01452 LPCTSTR Location;
01453 } GOPHER_LOCATION_ATTRIBUTE_TYPE, * LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
01454
01455 typedef struct {
01456 INT DegreesNorth;
01457 INT MinutesNorth;
01458 INT SecondsNorth;
01459 INT DegreesEast;
01460 INT MinutesEast;
01461 INT SecondsEast;
01462 } GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, * LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
01463
01464 typedef struct {
01465 INT Zone;
01466 } GOPHER_TIMEZONE_ATTRIBUTE_TYPE, * LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
01467
01468 typedef struct {
01469 LPCTSTR Provider;
01470 } GOPHER_PROVIDER_ATTRIBUTE_TYPE, * LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
01471
01472 typedef struct {
01473 LPCTSTR Version;
01474 } GOPHER_VERSION_ATTRIBUTE_TYPE, * LPGOPHER_VERSION_ATTRIBUTE_TYPE;
01475
01476 typedef struct {
01477 LPCTSTR ShortAbstract;
01478 LPCTSTR AbstractFile;
01479 } GOPHER_ABSTRACT_ATTRIBUTE_TYPE, * LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
01480
01481 typedef struct {
01482 LPCTSTR ContentType;
01483 LPCTSTR Language;
01484 DWORD Size;
01485 } GOPHER_VIEW_ATTRIBUTE_TYPE, * LPGOPHER_VIEW_ATTRIBUTE_TYPE;
01486
01487 typedef struct {
01488 BOOL TreeWalk;
01489 } GOPHER_VERONICA_ATTRIBUTE_TYPE, * LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
01490
01491 typedef struct {
01492 LPCTSTR QuestionType;
01493 LPCTSTR QuestionText;
01494 } GOPHER_ASK_ATTRIBUTE_TYPE, * LPGOPHER_ASK_ATTRIBUTE_TYPE;
01495
01496 typedef struct {
01497 LPCTSTR Text;
01498 } GOPHER_UNKNOWN_ATTRIBUTE_TYPE, * LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
01499
01500 typedef struct {
01501 DWORD CategoryId;
01502 DWORD AttributeId;
01503 union {
01504 GOPHER_ADMIN_ATTRIBUTE_TYPE Admin;
01505 GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
01506 GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
01507 GOPHER_SCORE_ATTRIBUTE_TYPE Score;
01508 GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
01509 GOPHER_SITE_ATTRIBUTE_TYPE Site;
01510 GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization;
01511 GOPHER_LOCATION_ATTRIBUTE_TYPE Location;
01512 GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
01513 GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
01514 GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider;
01515 GOPHER_VERSION_ATTRIBUTE_TYPE Version;
01516 GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract;
01517 GOPHER_VIEW_ATTRIBUTE_TYPE View;
01518 GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
01519 GOPHER_ASK_ATTRIBUTE_TYPE Ask;
01520 GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown;
01521 } AttributeType;
01522 } GOPHER_ATTRIBUTE_TYPE, * LPGOPHER_ATTRIBUTE_TYPE;
01523
01524 #define MAX_GOPHER_CATEGORY_NAME 128
01525 #define MAX_GOPHER_ATTRIBUTE_NAME 128
01526 #define MIN_GOPHER_ATTRIBUTE_LENGTH 256
01527
01528 #define GOPHER_INFO_CATEGORY TEXT("+INFO")
01529 #define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN")
01530 #define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS")
01531 #define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT")
01532 #define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA")
01533
01534 #define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin")
01535 #define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date")
01536 #define GOPHER_TTL_ATTRIBUTE TEXT("TTL")
01537 #define GOPHER_SCORE_ATTRIBUTE TEXT("Score")
01538 #define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range")
01539 #define GOPHER_SITE_ATTRIBUTE TEXT("Site")
01540 #define GOPHER_ORG_ATTRIBUTE TEXT("Org")
01541 #define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc")
01542 #define GOPHER_GEOG_ATTRIBUTE TEXT("Geog")
01543 #define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ")
01544 #define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider")
01545 #define GOPHER_VERSION_ATTRIBUTE TEXT("Version")
01546 #define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract")
01547 #define GOPHER_VIEW_ATTRIBUTE TEXT("View")
01548 #define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk")
01549
01550 #define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00
01551
01552 #define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 1)
01553
01554 #define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE + 2)
01555 #define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 3)
01556 #define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE + 4)
01557 #define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 5)
01558 #define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE + 6)
01559 #define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE + 7)
01560
01561 #define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 8)
01562
01563 #define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 9)
01564
01565 #define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 10)
01566 #define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE + 11)
01567 #define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE + 12)
01568 #define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE + 13)
01569 #define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE + 14)
01570 #define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE + 15)
01571 #define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE + 16)
01572 #define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE + 17)
01573 #define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE + 18)
01574 #define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE + 19)
01575 #define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE + 20)
01576 #define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE + 21)
01577 #define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 22)
01578 #define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE + 23)
01579 #define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE + 24)
01580
01581 #define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 25)
01582
01583 BOOLAPI
01584 GopherCreateLocatorA(
01585 IN LPCSTR lpszHost,
01586 IN INTERNET_PORT nServerPort,
01587 IN LPCSTR lpszDisplayString OPTIONAL,
01588 IN LPCSTR lpszSelectorString OPTIONAL,
01589 IN DWORD dwGopherType,
01590 OUT LPSTR lpszLocator OPTIONAL,
01591 IN OUT LPDWORD lpdwBufferLength
01592 );
01593 BOOLAPI
01594 GopherCreateLocatorW(
01595 IN LPCWSTR lpszHost,
01596 IN INTERNET_PORT nServerPort,
01597 IN LPCWSTR lpszDisplayString OPTIONAL,
01598 IN LPCWSTR lpszSelectorString OPTIONAL,
01599 IN DWORD dwGopherType,
01600 OUT LPWSTR lpszLocator OPTIONAL,
01601 IN OUT LPDWORD lpdwBufferLength
01602 );
01603 #ifdef UNICODE
01604 #define GopherCreateLocator GopherCreateLocatorW
01605 #else
01606 #define GopherCreateLocator GopherCreateLocatorA
01607 #endif
01608
01609 BOOLAPI
01610 GopherGetLocatorTypeA(
01611 IN LPCSTR lpszLocator,
01612 OUT LPDWORD lpdwGopherType
01613 );
01614 BOOLAPI
01615 GopherGetLocatorTypeW(
01616 IN LPCWSTR lpszLocator,
01617 OUT LPDWORD lpdwGopherType
01618 );
01619 #ifdef UNICODE
01620 #define GopherGetLocatorType GopherGetLocatorTypeW
01621 #else
01622 #define GopherGetLocatorType GopherGetLocatorTypeA
01623 #endif
01624
01625 INTERNETAPI
01626 HINTERNET
01627 WINAPI
01628 GopherFindFirstFileA(
01629 IN HINTERNET hConnect,
01630 IN LPCSTR lpszLocator OPTIONAL,
01631 IN LPCSTR lpszSearchString OPTIONAL,
01632 OUT LPGOPHER_FIND_DATAA lpFindData OPTIONAL,
01633 IN DWORD dwFlags,
01634 IN DWORD_PTR dwContext
01635 );
01636 INTERNETAPI
01637 HINTERNET
01638 WINAPI
01639 GopherFindFirstFileW(
01640 IN HINTERNET hConnect,
01641 IN LPCWSTR lpszLocator OPTIONAL,
01642 IN LPCWSTR lpszSearchString OPTIONAL,
01643 OUT LPGOPHER_FIND_DATAW lpFindData OPTIONAL,
01644 IN DWORD dwFlags,
01645 IN DWORD_PTR dwContext
01646 );
01647 #ifdef UNICODE
01648 #define GopherFindFirstFile GopherFindFirstFileW
01649 #else
01650 #define GopherFindFirstFile GopherFindFirstFileA
01651 #endif
01652
01653 INTERNETAPI
01654 HINTERNET
01655 WINAPI
01656 GopherOpenFileA(
01657 IN HINTERNET hConnect,
01658 IN LPCSTR lpszLocator,
01659 IN LPCSTR lpszView OPTIONAL,
01660 IN DWORD dwFlags,
01661 IN DWORD_PTR dwContext
01662 );
01663 INTERNETAPI
01664 HINTERNET
01665 WINAPI
01666 GopherOpenFileW(
01667 IN HINTERNET hConnect,
01668 IN LPCWSTR lpszLocator,
01669 IN LPCWSTR lpszView OPTIONAL,
01670 IN DWORD dwFlags,
01671 IN DWORD_PTR dwContext
01672 );
01673 #ifdef UNICODE
01674 #define GopherOpenFile GopherOpenFileW
01675 #else
01676 #define GopherOpenFile GopherOpenFileA
01677 #endif
01678
01679 typedef
01680 BOOL
01681 (CALLBACK * GOPHER_ATTRIBUTE_ENUMERATOR)(
01682 LPGOPHER_ATTRIBUTE_TYPE lpAttributeInfo,
01683 DWORD dwError
01684 );
01685
01686 BOOLAPI
01687 GopherGetAttributeA(
01688 IN HINTERNET hConnect,
01689 IN LPCSTR lpszLocator,
01690 IN LPCSTR lpszAttributeName OPTIONAL,
01691 OUT LPBYTE lpBuffer,
01692 IN DWORD dwBufferLength,
01693 OUT LPDWORD lpdwCharactersReturned,
01694 IN GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator OPTIONAL,
01695 IN DWORD_PTR dwContext
01696 );
01697 BOOLAPI
01698 GopherGetAttributeW(
01699 IN HINTERNET hConnect,
01700 IN LPCWSTR lpszLocator,
01701 IN LPCWSTR lpszAttributeName OPTIONAL,
01702 OUT LPBYTE lpBuffer,
01703 IN DWORD dwBufferLength,
01704 OUT LPDWORD lpdwCharactersReturned,
01705 IN GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator OPTIONAL,
01706 IN DWORD_PTR dwContext
01707 );
01708 #ifdef UNICODE
01709 #define GopherGetAttribute GopherGetAttributeW
01710 #else
01711 #define GopherGetAttribute GopherGetAttributeA
01712 #endif
01713
01714 #define HTTP_MAJOR_VERSION 1
01715 #define HTTP_MINOR_VERSION 0
01716
01717 #define HTTP_VERSIONA "HTTP/1.0"
01718 #define HTTP_VERSIONW L"HTTP/1.0"
01719
01720 #ifdef UNICODE
01721 #define HTTP_VERSION HTTP_VERSIONW
01722 #else
01723 #define HTTP_VERSION HTTP_VERSIONA
01724 #endif
01725
01726 #define HTTP_QUERY_MIME_VERSION 0
01727 #define HTTP_QUERY_CONTENT_TYPE 1
01728 #define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2
01729 #define HTTP_QUERY_CONTENT_ID 3
01730 #define HTTP_QUERY_CONTENT_DESCRIPTION 4
01731 #define HTTP_QUERY_CONTENT_LENGTH 5
01732 #define HTTP_QUERY_CONTENT_LANGUAGE 6
01733 #define HTTP_QUERY_ALLOW 7
01734 #define HTTP_QUERY_PUBLIC 8
01735 #define HTTP_QUERY_DATE 9
01736 #define HTTP_QUERY_EXPIRES 10
01737 #define HTTP_QUERY_LAST_MODIFIED 11
01738 #define HTTP_QUERY_MESSAGE_ID 12
01739 #define HTTP_QUERY_URI 13
01740 #define HTTP_QUERY_DERIVED_FROM 14
01741 #define HTTP_QUERY_COST 15
01742 #define HTTP_QUERY_LINK 16
01743 #define HTTP_QUERY_PRAGMA 17
01744 #define HTTP_QUERY_VERSION 18
01745 #define HTTP_QUERY_STATUS_CODE 19
01746 #define HTTP_QUERY_STATUS_TEXT 20
01747 #define HTTP_QUERY_RAW_HEADERS 21
01748 #define HTTP_QUERY_RAW_HEADERS_CRLF 22
01749 #define HTTP_QUERY_CONNECTION 23
01750 #define HTTP_QUERY_ACCEPT 24
01751 #define HTTP_QUERY_ACCEPT_CHARSET 25
01752 #define HTTP_QUERY_ACCEPT_ENCODING 26
01753 #define HTTP_QUERY_ACCEPT_LANGUAGE 27
01754 #define HTTP_QUERY_AUTHORIZATION 28
01755 #define HTTP_QUERY_CONTENT_ENCODING 29
01756 #define HTTP_QUERY_FORWARDED 30
01757 #define HTTP_QUERY_FROM 31
01758 #define HTTP_QUERY_IF_MODIFIED_SINCE 32
01759 #define HTTP_QUERY_LOCATION 33
01760 #define HTTP_QUERY_ORIG_URI 34
01761 #define HTTP_QUERY_REFERER 35
01762 #define HTTP_QUERY_RETRY_AFTER 36
01763 #define HTTP_QUERY_SERVER 37
01764 #define HTTP_QUERY_TITLE 38
01765 #define HTTP_QUERY_USER_AGENT 39
01766 #define HTTP_QUERY_WWW_AUTHENTICATE 40
01767 #define HTTP_QUERY_PROXY_AUTHENTICATE 41
01768 #define HTTP_QUERY_ACCEPT_RANGES 42
01769 #define HTTP_QUERY_SET_COOKIE 43
01770 #define HTTP_QUERY_COOKIE 44
01771 #define HTTP_QUERY_REQUEST_METHOD 45
01772 #define HTTP_QUERY_REFRESH 46
01773 #define HTTP_QUERY_CONTENT_DISPOSITION 47
01774
01775 #define HTTP_QUERY_AGE 48
01776 #define HTTP_QUERY_CACHE_CONTROL 49
01777 #define HTTP_QUERY_CONTENT_BASE 50
01778 #define HTTP_QUERY_CONTENT_LOCATION 51
01779 #define HTTP_QUERY_CONTENT_MD5 52
01780 #define HTTP_QUERY_CONTENT_RANGE 53
01781 #define HTTP_QUERY_ETAG 54
01782 #define HTTP_QUERY_HOST 55
01783 #define HTTP_QUERY_IF_MATCH 56
01784 #define HTTP_QUERY_IF_NONE_MATCH 57
01785 #define HTTP_QUERY_IF_RANGE 58
01786 #define HTTP_QUERY_IF_UNMODIFIED_SINCE 59
01787 #define HTTP_QUERY_MAX_FORWARDS 60
01788 #define HTTP_QUERY_PROXY_AUTHORIZATION 61
01789 #define HTTP_QUERY_RANGE 62
01790 #define HTTP_QUERY_TRANSFER_ENCODING 63
01791 #define HTTP_QUERY_UPGRADE 64
01792 #define HTTP_QUERY_VARY 65
01793 #define HTTP_QUERY_VIA 66
01794 #define HTTP_QUERY_WARNING 67
01795 #define HTTP_QUERY_EXPECT 68
01796 #define HTTP_QUERY_PROXY_CONNECTION 69
01797 #define HTTP_QUERY_UNLESS_MODIFIED_SINCE 70
01798
01799 #define HTTP_QUERY_ECHO_REQUEST 71
01800 #define HTTP_QUERY_ECHO_REPLY 72
01801
01802 #define HTTP_QUERY_ECHO_HEADERS 73
01803 #define HTTP_QUERY_ECHO_HEADERS_CRLF 74
01804
01805 #define HTTP_QUERY_MAX 74
01806
01807 #define HTTP_QUERY_CUSTOM 65535
01808
01809 #define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000
01810
01811 #define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
01812
01813 #define HTTP_QUERY_FLAG_NUMBER 0x20000000
01814
01815 #define HTTP_QUERY_FLAG_COALESCE 0x10000000
01816
01817 #define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS \
01818 | HTTP_QUERY_FLAG_SYSTEMTIME \
01819 | HTTP_QUERY_FLAG_NUMBER \
01820 | HTTP_QUERY_FLAG_COALESCE \
01821 )
01822
01823 #define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
01824
01825 #define HTTP_STATUS_CONTINUE 100
01826 #define HTTP_STATUS_SWITCH_PROTOCOLS 101
01827
01828 #define HTTP_STATUS_OK 200
01829 #define HTTP_STATUS_CREATED 201
01830 #define HTTP_STATUS_ACCEPTED 202
01831 #define HTTP_STATUS_PARTIAL 203
01832 #define HTTP_STATUS_NO_CONTENT 204
01833 #define HTTP_STATUS_RESET_CONTENT 205
01834 #define HTTP_STATUS_PARTIAL_CONTENT 206
01835
01836 #define HTTP_STATUS_AMBIGUOUS 300
01837 #define HTTP_STATUS_MOVED 301
01838 #define HTTP_STATUS_REDIRECT 302
01839 #define HTTP_STATUS_REDIRECT_METHOD 303
01840 #define HTTP_STATUS_NOT_MODIFIED 304
01841 #define HTTP_STATUS_USE_PROXY 305
01842 #define HTTP_STATUS_REDIRECT_KEEP_VERB 307
01843
01844 #define HTTP_STATUS_BAD_REQUEST 400
01845 #define HTTP_STATUS_DENIED 401
01846 #define HTTP_STATUS_PAYMENT_REQ 402
01847 #define HTTP_STATUS_FORBIDDEN 403
01848 #define HTTP_STATUS_NOT_FOUND 404
01849 #define HTTP_STATUS_BAD_METHOD 405
01850 #define HTTP_STATUS_NONE_ACCEPTABLE 406
01851 #define HTTP_STATUS_PROXY_AUTH_REQ 407
01852 #define HTTP_STATUS_REQUEST_TIMEOUT 408
01853 #define HTTP_STATUS_CONFLICT 409
01854 #define HTTP_STATUS_GONE 410
01855 #define HTTP_STATUS_LENGTH_REQUIRED 411
01856 #define HTTP_STATUS_PRECOND_FAILED 412
01857 #define HTTP_STATUS_REQUEST_TOO_LARGE 413
01858 #define HTTP_STATUS_URI_TOO_LONG 414
01859 #define HTTP_STATUS_UNSUPPORTED_MEDIA 415
01860 #define HTTP_STATUS_RETRY_WITH 449
01861
01862 #define HTTP_STATUS_SERVER_ERROR 500
01863 #define HTTP_STATUS_NOT_SUPPORTED 501
01864 #define HTTP_STATUS_BAD_GATEWAY 502
01865 #define HTTP_STATUS_SERVICE_UNAVAIL 503
01866 #define HTTP_STATUS_GATEWAY_TIMEOUT 504
01867 #define HTTP_STATUS_VERSION_NOT_SUP 505
01868
01869 #define HTTP_STATUS_FIRST HTTP_STATUS_CONTINUE
01870 #define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP
01871
01872 INTERNETAPI
01873 HINTERNET
01874 WINAPI
01875 HttpOpenRequestA(
01876 IN HINTERNET hConnect,
01877 IN LPCSTR lpszVerb,
01878 IN LPCSTR lpszObjectName,
01879 IN LPCSTR lpszVersion,
01880 IN LPCSTR lpszReferrer OPTIONAL,
01881 IN LPCSTR FAR * lplpszAcceptTypes OPTIONAL,
01882 IN DWORD dwFlags,
01883 IN DWORD_PTR dwContext
01884 );
01885 INTERNETAPI
01886 HINTERNET
01887 WINAPI
01888 HttpOpenRequestW(
01889 IN HINTERNET hConnect,
01890 IN LPCWSTR lpszVerb,
01891 IN LPCWSTR lpszObjectName,
01892 IN LPCWSTR lpszVersion,
01893 IN LPCWSTR lpszReferrer OPTIONAL,
01894 IN LPCWSTR FAR * lplpszAcceptTypes OPTIONAL,
01895 IN DWORD dwFlags,
01896 IN DWORD_PTR dwContext
01897 );
01898 #ifdef UNICODE
01899 #define HttpOpenRequest HttpOpenRequestW
01900 #else
01901 #define HttpOpenRequest HttpOpenRequestA
01902 #endif
01903
01904 BOOLAPI
01905 HttpAddRequestHeadersA(
01906 IN HINTERNET hRequest,
01907 IN LPCSTR lpszHeaders,
01908 IN DWORD dwHeadersLength,
01909 IN DWORD dwModifiers
01910 );
01911 BOOLAPI
01912 HttpAddRequestHeadersW(
01913 IN HINTERNET hRequest,
01914 IN LPCWSTR lpszHeaders,
01915 IN DWORD dwHeadersLength,
01916 IN DWORD dwModifiers
01917 );
01918 #ifdef UNICODE
01919 #define HttpAddRequestHeaders HttpAddRequestHeadersW
01920 #else
01921 #define HttpAddRequestHeaders HttpAddRequestHeadersA
01922 #endif
01923
01924 #define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF
01925 #define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000
01926
01927 #define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000
01928
01929 #define HTTP_ADDREQ_FLAG_ADD 0x20000000
01930
01931 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000
01932 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000
01933 #define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
01934
01935 #define HTTP_ADDREQ_FLAG_REPLACE 0x80000000
01936
01937 BOOLAPI
01938 HttpSendRequestA(
01939 IN HINTERNET hRequest,
01940 IN LPCSTR lpszHeaders OPTIONAL,
01941 IN DWORD dwHeadersLength,
01942 IN LPVOID lpOptional OPTIONAL,
01943 IN DWORD dwOptionalLength
01944 );
01945 BOOLAPI
01946 HttpSendRequestW(
01947 IN HINTERNET hRequest,
01948 IN LPCWSTR lpszHeaders OPTIONAL,
01949 IN DWORD dwHeadersLength,
01950 IN LPVOID lpOptional OPTIONAL,
01951 IN DWORD dwOptionalLength
01952 );
01953 #ifdef UNICODE
01954 #define HttpSendRequest HttpSendRequestW
01955 #else
01956 #define HttpSendRequest HttpSendRequestA
01957 #endif
01958
01959 INTERNETAPI
01960 BOOL
01961 WINAPI
01962 HttpSendRequestExA(
01963 IN HINTERNET hRequest,
01964 IN LPINTERNET_BUFFERSA lpBuffersIn OPTIONAL,
01965 OUT LPINTERNET_BUFFERSA lpBuffersOut OPTIONAL,
01966 IN DWORD dwFlags,
01967 IN DWORD_PTR dwContext
01968 );
01969 INTERNETAPI
01970 BOOL
01971 WINAPI
01972 HttpSendRequestExW(
01973 IN HINTERNET hRequest,
01974 IN LPINTERNET_BUFFERSW lpBuffersIn OPTIONAL,
01975 OUT LPINTERNET_BUFFERSW lpBuffersOut OPTIONAL,
01976 IN DWORD dwFlags,
01977 IN DWORD_PTR dwContext
01978 );
01979 #ifdef UNICODE
01980 #define HttpSendRequestEx HttpSendRequestExW
01981 #else
01982 #define HttpSendRequestEx HttpSendRequestExA
01983 #endif
01984
01985 #define HSR_ASYNC WININET_API_FLAG_ASYNC
01986 #define HSR_SYNC WININET_API_FLAG_SYNC
01987 #define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
01988 #define HSR_INITIATE 0x00000008
01989 #define HSR_DOWNLOAD 0x00000010
01990 #define HSR_CHUNKED 0x00000020
01991
01992 INTERNETAPI
01993 BOOL
01994 WINAPI
01995 HttpEndRequestA(
01996 IN HINTERNET hRequest,
01997 OUT LPINTERNET_BUFFERSA lpBuffersOut OPTIONAL,
01998 IN DWORD dwFlags,
01999 IN DWORD_PTR dwContext
02000 );
02001 INTERNETAPI
02002 BOOL
02003 WINAPI
02004 HttpEndRequestW(
02005 IN HINTERNET hRequest,
02006 OUT LPINTERNET_BUFFERSW lpBuffersOut OPTIONAL,
02007 IN DWORD dwFlags,
02008 IN DWORD_PTR dwContext
02009 );
02010 #ifdef UNICODE
02011 #define HttpEndRequest HttpEndRequestW
02012 #else
02013 #define HttpEndRequest HttpEndRequestA
02014 #endif
02015
02016 BOOLAPI
02017 HttpQueryInfoA(
02018 IN HINTERNET hRequest,
02019 IN DWORD dwInfoLevel,
02020 IN OUT LPVOID lpBuffer OPTIONAL,
02021 IN OUT LPDWORD lpdwBufferLength,
02022 IN OUT LPDWORD lpdwIndex OPTIONAL
02023 );
02024 BOOLAPI
02025 HttpQueryInfoW(
02026 IN HINTERNET hRequest,
02027 IN DWORD dwInfoLevel,
02028 IN OUT LPVOID lpBuffer OPTIONAL,
02029 IN OUT LPDWORD lpdwBufferLength,
02030 IN OUT LPDWORD lpdwIndex OPTIONAL
02031 );
02032 #ifdef UNICODE
02033 #define HttpQueryInfo HttpQueryInfoW
02034 #else
02035 #define HttpQueryInfo HttpQueryInfoA
02036 #endif
02037
02038 BOOLAPI
02039 InternetSetCookieA(
02040 IN LPCSTR lpszUrl,
02041 IN LPCSTR lpszCookieName,
02042 IN LPCSTR lpszCookieData
02043 );
02044 BOOLAPI
02045 InternetSetCookieW(
02046 IN LPCWSTR lpszUrl,
02047 IN LPCWSTR lpszCookieName,
02048 IN LPCWSTR lpszCookieData
02049 );
02050 #ifdef UNICODE
02051 #define InternetSetCookie InternetSetCookieW
02052 #else
02053 #define InternetSetCookie InternetSetCookieA
02054 #endif
02055
02056 BOOLAPI
02057 InternetGetCookieA(
02058 IN LPCSTR lpszUrl,
02059 IN LPCSTR lpszCookieName,
02060 OUT LPSTR lpCookieData,
02061 IN OUT LPDWORD lpdwSize
02062 );
02063 BOOLAPI
02064 InternetGetCookieW(
02065 IN LPCWSTR lpszUrl,
02066 IN LPCWSTR lpszCookieName,
02067 OUT LPWSTR lpCookieData,
02068 IN OUT LPDWORD lpdwSize
02069 );
02070 #ifdef UNICODE
02071 #define InternetGetCookie InternetGetCookieW
02072 #else
02073 #define InternetGetCookie InternetGetCookieA
02074 #endif
02075
02076 INTERNETAPI
02077 DWORD
02078 WINAPI
02079 InternetAttemptConnect(
02080 IN DWORD dwReserved
02081 );
02082
02083 BOOLAPI
02084 InternetCheckConnectionA(
02085 IN LPCSTR lpszUrl,
02086 IN DWORD dwFlags,
02087 IN DWORD dwReserved
02088 );
02089 BOOLAPI
02090 InternetCheckConnectionW(
02091 IN LPCWSTR lpszUrl,
02092 IN DWORD dwFlags,
02093 IN DWORD dwReserved
02094 );
02095 #ifdef UNICODE
02096 #define InternetCheckConnection InternetCheckConnectionW
02097 #else
02098 #define InternetCheckConnection InternetCheckConnectionA
02099 #endif
02100
02101 #define FLAG_ICC_FORCE_CONNECTION 0x00000001
02102
02103 #define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01
02104 #define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02
02105 #define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04
02106 #define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08
02107 #define FLAGS_ERROR_UI_SERIALIZE_DIALOGS 0x10
02108
02109 DWORD InternetAuthNotifyCallback
02110 (
02111 DWORD_PTR dwContext,
02112 DWORD dwReturn,
02113 LPVOID lpReserved
02114 );
02115 typedef DWORD (CALLBACK * PFN_AUTH_NOTIFY) (DWORD_PTR, DWORD, LPVOID);
02116
02117 typedef struct
02118 {
02119 DWORD cbStruct;
02120 DWORD dwOptions;
02121 PFN_AUTH_NOTIFY pfnNotify;
02122 DWORD_PTR dwContext;
02123 }
02124 INTERNET_AUTH_NOTIFY_DATA;
02125
02126 INTERNETAPI
02127 BOOL
02128 WINAPI
02129 ResumeSuspendedDownload(
02130 IN HINTERNET hRequest,
02131 IN DWORD dwResultCode
02132 );
02133
02134 INTERNETAPI
02135 DWORD
02136 WINAPI
02137 InternetErrorDlg(
02138 IN HWND hWnd,
02139 IN OUT HINTERNET hRequest,
02140 IN DWORD dwError,
02141 IN DWORD dwFlags,
02142 IN OUT LPVOID * lppvData
02143 );
02144
02145 INTERNETAPI
02146 DWORD
02147 WINAPI
02148 InternetConfirmZoneCrossingA(
02149 IN HWND hWnd,
02150 IN LPSTR szUrlPrev,
02151 IN LPSTR szUrlNew,
02152 IN BOOL bPost
02153 );
02154
02155 INTERNETAPI
02156 DWORD
02157 WINAPI
02158 InternetConfirmZoneCrossingW(
02159 IN HWND hWnd,
02160 IN LPWSTR szUrlPrev,
02161 IN LPWSTR szUrlNew,
02162 IN BOOL bPost
02163 );
02164
02165 #ifdef UNICODE
02166 #define InternetConfirmZoneCrossing InternetConfirmZoneCrossingW
02167 #else
02168 #ifdef _WINX32_
02169 #define InternetConfirmZoneCrossing InternetConfirmZoneCrossingA
02170 #else
02171 INTERNETAPI
02172 DWORD
02173 WINAPI
02174 InternetConfirmZoneCrossing(
02175 IN HWND hWnd,
02176 IN LPSTR szUrlPrev,
02177 IN LPSTR szUrlNew,
02178 IN BOOL bPost
02179 );
02180 #endif
02181 #endif
02182
02183 #define INTERNET_ERROR_BASE 12000
02184
02185 #define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE + 1)
02186 #define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2)
02187 #define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE + 3)
02188 #define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE + 4)
02189 #define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE + 5)
02190 #define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE + 6)
02191 #define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE + 7)
02192 #define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE + 8)
02193 #define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE + 9)
02194 #define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE + 10)
02195 #define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE + 11)
02196 #define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE + 12)
02197 #define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE + 13)
02198 #define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE + 14)
02199 #define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE + 15)
02200 #define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE + 16)
02201 #define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE + 17)
02202 #define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE + 18)
02203 #define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE + 19)
02204 #define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE + 20)
02205 #define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE + 21)
02206 #define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE + 22)
02207 #define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE + 23)
02208 #define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE + 24)
02209 #define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE + 25)
02210 #define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE + 26)
02211 #define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE + 27)
02212 #define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE + 28)
02213 #define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE + 29)
02214 #define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE + 30)
02215 #define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE + 31)
02216 #define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE + 32)
02217 #define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE + 33)
02218 #define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE + 34)
02219
02220 #define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE + 36)
02221 #define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE + 37)
02222 #define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE + 38)
02223 #define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE + 39)
02224 #define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE + 40)
02225 #define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE + 41)
02226 #define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 42)
02227 #define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 43)
02228 #define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE + 44)
02229 #define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE + 45)
02230 #define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE + 46)
02231 #define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE + 47)
02232 #define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE + 48)
02233 #define ERROR_INTERNET_DIALOG_PENDING (INTERNET_ERROR_BASE + 49)
02234 #define ERROR_INTERNET_RETRY_DIALOG (INTERNET_ERROR_BASE + 50)
02235 #define ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR (INTERNET_ERROR_BASE + 52)
02236 #define ERROR_INTERNET_INSERT_CDROM (INTERNET_ERROR_BASE + 53)
02237 #define ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED (INTERNET_ERROR_BASE + 54)
02238 #define ERROR_INTERNET_SEC_CERT_ERRORS (INTERNET_ERROR_BASE + 55)
02239 #define ERROR_INTERNET_SEC_CERT_NO_REV (INTERNET_ERROR_BASE + 56)
02240 #define ERROR_INTERNET_SEC_CERT_REV_FAILED (INTERNET_ERROR_BASE + 57)
02241
02242 #define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE + 110)
02243 #define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE + 111)
02244 #define ERROR_FTP_NO_PASSIVE_MODE (INTERNET_ERROR_BASE + 112)
02245
02246 #define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE + 130)
02247 #define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE + 131)
02248 #define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE + 132)
02249 #define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE + 133)
02250 #define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE + 134)
02251 #define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE + 135)
02252 #define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE + 136)
02253 #define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE + 137)
02254 #define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE + 138)
02255
02256 #define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE + 150)
02257 #define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE + 151)
02258 #define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE + 152)
02259 #define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE + 153)
02260 #define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE + 154)
02261 #define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE + 155)
02262 #define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE + 156)
02263 #define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE + 160)
02264 #define ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 161)
02265 #define ERROR_HTTP_COOKIE_DECLINED (INTERNET_ERROR_BASE + 162)
02266 #define ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 168)
02267
02268 #define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE + 157)
02269 #define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE + 158)
02270 #define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE + 159)
02271 #define ERROR_INTERNET_DISCONNECTED (INTERNET_ERROR_BASE + 163)
02272 #define ERROR_INTERNET_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 164)
02273 #define ERROR_INTERNET_PROXY_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 165)
02274
02275 #define ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT (INTERNET_ERROR_BASE + 166)
02276 #define ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT (INTERNET_ERROR_BASE + 167)
02277 #define ERROR_INTERNET_SEC_INVALID_CERT (INTERNET_ERROR_BASE + 169)
02278 #define ERROR_INTERNET_SEC_CERT_REVOKED (INTERNET_ERROR_BASE + 170)
02279
02280 #define ERROR_INTERNET_FAILED_DUETOSECURITYCHECK (INTERNET_ERROR_BASE + 171)
02281 #define ERROR_INTERNET_NOT_INITIALIZED (INTERNET_ERROR_BASE + 172)
02282 #define ERROR_INTERNET_NEED_MSN_SSPI_PKG (INTERNET_ERROR_BASE + 173)
02283 #define ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY (INTERNET_ERROR_BASE + 174)
02284
02285 #define INTERNET_ERROR_LAST ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY
02286
02287 #define NORMAL_CACHE_ENTRY 0x00000001
02288 #define STICKY_CACHE_ENTRY 0x00000004
02289 #define EDITED_CACHE_ENTRY 0x00000008
02290 #define TRACK_OFFLINE_CACHE_ENTRY 0x00000010
02291 #define TRACK_ONLINE_CACHE_ENTRY 0x00000020
02292 #define SPARSE_CACHE_ENTRY 0x00010000
02293 #define COOKIE_CACHE_ENTRY 0x00100000
02294 #define URLHISTORY_CACHE_ENTRY 0x00200000
02295
02296 #define URLCACHE_FIND_DEFAULT_FILTER NORMAL_CACHE_ENTRY \
02297 | COOKIE_CACHE_ENTRY \
02298 | URLHISTORY_CACHE_ENTRY \
02299 | TRACK_OFFLINE_CACHE_ENTRY \
02300 | TRACK_ONLINE_CACHE_ENTRY \
02301 | STICKY_CACHE_ENTRY
02302
02303 #if _MSC_VER >= 1200
02304 #pragma warning(push)
02305 #endif
02306 #pragma warning(disable:4201)
02307
02308 typedef struct _INTERNET_CACHE_ENTRY_INFOA {
02309 DWORD dwStructSize;
02310 LPSTR lpszSourceUrlName;
02311 LPSTR lpszLocalFileName;
02312 DWORD CacheEntryType;
02313 DWORD dwUseCount;
02314 DWORD dwHitRate;
02315 DWORD dwSizeLow;
02316 DWORD dwSizeHigh;
02317 FILETIME LastModifiedTime;
02318 FILETIME ExpireTime;
02319 FILETIME LastAccessTime;
02320 FILETIME LastSyncTime;
02321
02322 LPSTR lpHeaderInfo;
02323 DWORD dwHeaderInfoSize;
02324 LPSTR lpszFileExtension;
02325 union {
02326 DWORD dwReserved;
02327 DWORD dwExemptDelta;
02328 };
02329 } INTERNET_CACHE_ENTRY_INFOA, * LPINTERNET_CACHE_ENTRY_INFOA;
02330 typedef struct _INTERNET_CACHE_ENTRY_INFOW {
02331 DWORD dwStructSize;
02332 LPWSTR lpszSourceUrlName;
02333 LPWSTR lpszLocalFileName;
02334 DWORD CacheEntryType;
02335 DWORD dwUseCount;
02336 DWORD dwHitRate;
02337 DWORD dwSizeLow;
02338 DWORD dwSizeHigh;
02339 FILETIME LastModifiedTime;
02340 FILETIME ExpireTime;
02341 FILETIME LastAccessTime;
02342 FILETIME LastSyncTime;
02343
02344 LPWSTR lpHeaderInfo;
02345 DWORD dwHeaderInfoSize;
02346 LPWSTR lpszFileExtension;
02347 union {
02348 DWORD dwReserved;
02349 DWORD dwExemptDelta;
02350 };
02351 } INTERNET_CACHE_ENTRY_INFOW, * LPINTERNET_CACHE_ENTRY_INFOW;
02352 #ifdef UNICODE
02353 typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO;
02354 typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO;
02355 #else
02356 typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO;
02357 typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO;
02358 #endif
02359
02360 #if _MSC_VER >= 1200
02361 #pragma warning(pop)
02362 #else
02363 #pragma warning(default:4201)
02364 #endif
02365
02366 typedef struct _INTERNET_CACHE_TIMESTAMPS {
02367 FILETIME ftExpires;
02368 FILETIME ftLastModified;
02369 } INTERNET_CACHE_TIMESTAMPS, *LPINTERNET_CACHE_TIMESTAMPS;
02370
02371 typedef LONGLONG GROUPID;
02372
02373 #define CACHEGROUP_ATTRIBUTE_GET_ALL 0xffffffff
02374 #define CACHEGROUP_ATTRIBUTE_BASIC 0x00000001
02375 #define CACHEGROUP_ATTRIBUTE_FLAG 0x00000002
02376 #define CACHEGROUP_ATTRIBUTE_TYPE 0x00000004
02377 #define CACHEGROUP_ATTRIBUTE_QUOTA 0x00000008
02378 #define CACHEGROUP_ATTRIBUTE_GROUPNAME 0x00000010
02379 #define CACHEGROUP_ATTRIBUTE_STORAGE 0x00000020
02380
02381 #define CACHEGROUP_FLAG_NONPURGEABLE 0x00000001
02382 #define CACHEGROUP_FLAG_GIDONLY 0x00000004
02383
02384 #define CACHEGROUP_FLAG_FLUSHURL_ONDELETE 0x00000002
02385
02386 #define CACHEGROUP_SEARCH_ALL 0x00000000
02387 #define CACHEGROUP_SEARCH_BYURL 0x00000001
02388
02389 #define CACHEGROUP_TYPE_INVALID 0x00000001
02390
02391 #define CACHEGROUP_READWRITE_MASK \
02392 CACHEGROUP_ATTRIBUTE_TYPE \
02393 | CACHEGROUP_ATTRIBUTE_QUOTA \
02394 | CACHEGROUP_ATTRIBUTE_GROUPNAME \
02395 | CACHEGROUP_ATTRIBUTE_STORAGE
02396
02397 #define GROUPNAME_MAX_LENGTH 120
02398 #define GROUP_OWNER_STORAGE_SIZE 4
02399 typedef struct _INTERNET_CACHE_GROUP_INFOA {
02400 DWORD dwGroupSize;
02401 DWORD dwGroupFlags;
02402 DWORD dwGroupType;
02403 DWORD dwDiskUsage;
02404 DWORD dwDiskQuota;
02405 DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
02406 CHAR szGroupName[GROUPNAME_MAX_LENGTH];
02407 } INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA;
02408 typedef struct _INTERNET_CACHE_GROUP_INFOW {
02409 DWORD dwGroupSize;
02410 DWORD dwGroupFlags;
02411 DWORD dwGroupType;
02412 DWORD dwDiskUsage;
02413 DWORD dwDiskQuota;
02414 DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
02415 WCHAR szGroupName[GROUPNAME_MAX_LENGTH];
02416 } INTERNET_CACHE_GROUP_INFOW, * LPINTERNET_CACHE_GROUP_INFOW;
02417 #ifdef UNICODE
02418 typedef INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO;
02419 typedef LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO;
02420 #else
02421 typedef INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO;
02422 typedef LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO;
02423 #endif
02424
02425 BOOLAPI
02426 CreateUrlCacheEntryA(
02427 IN LPCSTR lpszUrlName,
02428 IN DWORD dwExpectedFileSize,
02429 IN LPCSTR lpszFileExtension,
02430 OUT LPSTR lpszFileName,
02431 IN DWORD dwReserved
02432 );
02433 BOOLAPI
02434 CreateUrlCacheEntryW(
02435 IN LPCWSTR lpszUrlName,
02436 IN DWORD dwExpectedFileSize,
02437 IN LPCWSTR lpszFileExtension,
02438 OUT LPWSTR lpszFileName,
02439 IN DWORD dwReserved
02440 );
02441 #ifdef UNICODE
02442 #define CreateUrlCacheEntry CreateUrlCacheEntryW
02443 #else
02444 #define CreateUrlCacheEntry CreateUrlCacheEntryA
02445 #endif
02446
02447 #ifndef USE_FIXED_COMMIT_URL_CACHE_ENTRY
02448
02449 BOOLAPI
02450 CommitUrlCacheEntryA(
02451 IN LPCSTR lpszUrlName,
02452 IN LPCSTR lpszLocalFileName,
02453 IN FILETIME ExpireTime,
02454 IN FILETIME LastModifiedTime,
02455 IN DWORD CacheEntryType,
02456 IN LPBYTE lpHeaderInfo,
02457 IN DWORD dwHeaderSize,
02458 IN LPCSTR lpszFileExtension,
02459 IN LPCSTR lpszOriginalUrl
02460 );
02461 BOOLAPI
02462 CommitUrlCacheEntryW(
02463 IN LPCWSTR lpszUrlName,
02464 IN LPCWSTR lpszLocalFileName,
02465 IN FILETIME ExpireTime,
02466 IN FILETIME LastModifiedTime,
02467 IN DWORD CacheEntryType,
02468 IN LPWSTR lpHeaderInfo,
02469 IN DWORD dwHeaderSize,
02470 IN LPCWSTR lpszFileExtension,
02471 IN LPCWSTR lpszOriginalUrl
02472 );
02473
02474 #ifdef UNICODE
02475 #define CommitUrlCacheEntry CommitUrlCacheEntryW
02476 #else
02477 #define CommitUrlCacheEntry CommitUrlCacheEntryA
02478 #endif
02479
02480 #else
02481 CommitUrlCacheEntryA(
02482 IN LPCSTR lpszUrlName,
02483 IN LPCSTR lpszLocalFileName,
02484 IN FILETIME ExpireTime,
02485 IN FILETIME LastModifiedTime,
02486 IN DWORD CacheEntryType,
02487 IN LPCSTR lpHeaderInfo,
02488 IN DWORD dwHeaderSize,
02489 IN LPCSTR lpszFileExtension,
02490 IN LPCSTR lpszOriginalUrl
02491 );
02492 CommitUrlCacheEntryW(
02493 IN LPCWSTR lpszUrlName,
02494 IN LPCWSTR lpszLocalFileName,
02495 IN FILETIME ExpireTime,
02496 IN FILETIME LastModifiedTime,
02497 IN DWORD CacheEntryType,
02498 IN LPCWSTR lpHeaderInfo,
02499 IN DWORD dwHeaderSize,
02500 IN LPCWSTR lpszFileExtension,
02501 IN LPCWSTR lpszOriginalUrl
02502 );
02503 #ifdef UNICODE
02504 #define CommitUrlCacheEntry CommitUrlCacheEntryW
02505 #else
02506 #define CommitUrlCacheEntry CommitUrlCacheEntryA
02507 #endif
02508 #endif
02509
02510 BOOLAPI
02511 RetrieveUrlCacheEntryFileA(
02512 IN LPCSTR lpszUrlName,
02513 OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
02514 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize,
02515 IN DWORD dwReserved
02516 );
02517 BOOLAPI
02518 RetrieveUrlCacheEntryFileW(
02519 IN LPCWSTR lpszUrlName,
02520 OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
02521 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize,
02522 IN DWORD dwReserved
02523 );
02524 #ifdef UNICODE
02525 #define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW
02526 #else
02527 #define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA
02528 #endif
02529
02530 BOOLAPI
02531 UnlockUrlCacheEntryFileA(
02532 IN LPCSTR lpszUrlName,
02533 IN DWORD dwReserved
02534 );
02535
02536 BOOLAPI
02537 UnlockUrlCacheEntryFileW(
02538 IN LPCWSTR lpszUrlName,
02539 IN DWORD dwReserved
02540 );
02541
02542
02543
02544 #ifdef UNICODE
02545 #define UnlockUrlCacheEntryFile UnlockUrlCacheEntryFileW
02546 #else
02547 #ifdef _WINX32_
02548 #define UnlockUrlCacheEntryFile UnlockUrlCacheEntryFileA
02549 #else
02550 BOOLAPI
02551 UnlockUrlCacheEntryFile(
02552 IN LPCSTR lpszUrlName,
02553 IN DWORD dwReserved
02554 );
02555 #endif
02556 #endif
02557
02558 INTERNETAPI
02559 HANDLE
02560 WINAPI
02561 RetrieveUrlCacheEntryStreamA(
02562 IN LPCSTR lpszUrlName,
02563 OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
02564 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize,
02565 IN BOOL fRandomRead,
02566 IN DWORD dwReserved
02567 );
02568 INTERNETAPI
02569 HANDLE
02570 WINAPI
02571 RetrieveUrlCacheEntryStreamW(
02572 IN LPCWSTR lpszUrlName,
02573 OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
02574 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize,
02575 IN BOOL fRandomRead,
02576 IN DWORD dwReserved
02577 );
02578 #ifdef UNICODE
02579 #define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW
02580 #else
02581 #define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA
02582 #endif
02583
02584 BOOLAPI
02585 ReadUrlCacheEntryStream(
02586 IN HANDLE hUrlCacheStream,
02587 IN DWORD dwLocation,
02588 IN OUT LPVOID lpBuffer,
02589 IN OUT LPDWORD lpdwLen,
02590 IN DWORD Reserved
02591 );
02592
02593 BOOLAPI
02594 UnlockUrlCacheEntryStream(
02595 IN HANDLE hUrlCacheStream,
02596 IN DWORD Reserved
02597 );
02598
02599 BOOLAPI
02600 GetUrlCacheEntryInfoA(
02601 IN LPCSTR lpszUrlName,
02602 OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
02603 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize
02604 );
02605 BOOLAPI
02606 GetUrlCacheEntryInfoW(
02607 IN LPCWSTR lpszUrlName,
02608 OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
02609 IN OUT LPDWORD lpdwCacheEntryInfoBufferSize
02610 );
02611 #ifdef UNICODE
02612 #define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW
02613 #else
02614 #define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA
02615 #endif
02616
02617 URLCACHEAPI
02618 HANDLE
02619 WINAPI
02620 FindFirstUrlCacheGroup(
02621 IN DWORD dwFlags,
02622 IN DWORD dwFilter,
02623 IN LPVOID lpSearchCondition,
02624 IN DWORD dwSearchCondition,
02625 OUT GROUPID* lpGroupId,
02626 IN OUT LPVOID lpReserved
02627 );
02628
02629 URLCACHEAPI
02630 BOOL
02631 WINAPI
02632 FindNextUrlCacheGroup(
02633 IN HANDLE hFind,
02634 OUT GROUPID* lpGroupId,
02635 IN OUT LPVOID lpReserved
02636 );
02637
02638 URLCACHEAPI
02639 BOOL
02640 WINAPI
02641 GetUrlCacheGroupAttributeA(
02642 IN GROUPID gid,
02643 IN DWORD dwFlags,
02644 IN DWORD dwAttributes,
02645 OUT LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,
02646 IN OUT LPDWORD lpdwGroupInfo,
02647 IN OUT LPVOID lpReserved
02648 );
02649 URLCACHEAPI
02650 BOOL
02651 WINAPI
02652 GetUrlCacheGroupAttributeW(
02653 IN GROUPID gid,
02654 IN DWORD dwFlags,
02655 IN DWORD dwAttributes,
02656 OUT LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,
02657 IN OUT LPDWORD lpdwGroupInfo,
02658 IN OUT LPVOID lpReserved
02659 );
02660 #ifdef UNICODE
02661 #define GetUrlCacheGroupAttribute GetUrlCacheGroupAttributeW
02662 #else
02663 #define GetUrlCacheGroupAttribute GetUrlCacheGroupAttributeA
02664 #endif
02665
02666 URLCACHEAPI
02667 BOOL
02668 WINAPI
02669 SetUrlCacheGroupAttributeA(
02670 IN GROUPID gid,
02671 IN DWORD dwFlags,
02672 IN DWORD dwAttributes,
02673 IN LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,
02674 IN OUT LPVOID lpReserved
02675 );
02676 URLCACHEAPI
02677 BOOL
02678 WINAPI
02679 SetUrlCacheGroupAttributeW(
02680 IN GROUPID gid,
02681 IN DWORD dwFlags,
02682 IN DWORD dwAttributes,
02683 IN LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,
02684 IN OUT LPVOID lpReserved
02685 );
02686 #ifdef UNICODE
02687 #define SetUrlCacheGroupAttribute SetUrlCacheGroupAttributeW
02688 #else
02689 #define SetUrlCacheGroupAttribute SetUrlCacheGroupAttributeA
02690 #endif
02691
02692 INTERNETAPI
02693 GROUPID
02694 WINAPI
02695 CreateUrlCacheGroup(
02696 IN DWORD dwFlags,
02697 IN LPVOID lpReserved
02698 );
02699
02700 BOOLAPI
02701 DeleteUrlCacheGroup(
02702 IN GROUPID GroupId,
02703 IN DWORD dwFlags,
02704 IN LPVOID lpReserved
02705 );
02706
02707 BOOLAPI
02708 GetUrlCacheEntryInfoExA(
02709 IN LPCSTR lpszUrl,
02710 OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
02711 IN OUT LPDWORD lpdwCacheEntryInfoBufSize,
02712 OUT LPSTR lpszReserved,
02713 IN OUT LPDWORD lpdwReserved,
02714 LPVOID lpReserved,
02715 DWORD dwFlags
02716 );
02717 BOOLAPI
02718 GetUrlCacheEntryInfoExW(
02719 IN LPCWSTR lpszUrl,
02720 OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
02721 IN OUT LPDWORD lpdwCacheEntryInfoBufSize,
02722 OUT LPWSTR lpszReserved,
02723 IN OUT LPDWORD lpdwReserved,
02724 LPVOID lpReserved,
02725 DWORD dwFlags
02726 );
02727 #ifdef UNICODE
02728 #define GetUrlCacheEntryInfoEx GetUrlCacheEntryInfoExW
02729 #else
02730 #define GetUrlCacheEntryInfoEx GetUrlCacheEntryInfoExA
02731 #endif
02732
02733 #define CACHE_ENTRY_ATTRIBUTE_FC 0x00000004
02734 #define CACHE_ENTRY_HITRATE_FC 0x00000010
02735 #define CACHE_ENTRY_MODTIME_FC 0x00000040
02736 #define CACHE_ENTRY_EXPTIME_FC 0x00000080
02737 #define CACHE_ENTRY_ACCTIME_FC 0x00000100
02738 #define CACHE_ENTRY_SYNCTIME_FC 0x00000200
02739 #define CACHE_ENTRY_HEADERINFO_FC 0x00000400
02740 #define CACHE_ENTRY_EXEMPT_DELTA_FC 0x00000800
02741
02742 BOOLAPI
02743 SetUrlCacheEntryInfoA(
02744 IN LPCSTR lpszUrlName,
02745 IN LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
02746 IN DWORD dwFieldControl
02747 );
02748 BOOLAPI
02749 SetUrlCacheEntryInfoW(
02750 IN LPCWSTR lpszUrlName,
02751 IN LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
02752 IN DWORD dwFieldControl
02753 );
02754 #ifdef UNICODE
02755 #define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW
02756 #else
02757 #define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA
02758 #endif
02759
02760 INTERNETAPI
02761 GROUPID
02762 WINAPI
02763 CreateUrlCacheGroup(
02764 IN DWORD dwFlags,
02765 IN LPVOID lpReserved
02766 );
02767
02768 BOOLAPI
02769 DeleteUrlCacheGroup(
02770 IN GROUPID GroupId,
02771 IN DWORD dwFlags,
02772 IN LPVOID lpReserved
02773 );
02774
02775 #define INTERNET_CACHE_GROUP_ADD 0
02776 #define INTERNET_CACHE_GROUP_REMOVE 1
02777
02778 BOOLAPI
02779 SetUrlCacheEntryGroupA(
02780 IN LPCSTR lpszUrlName,
02781 IN DWORD dwFlags,
02782 IN GROUPID GroupId,
02783 IN LPBYTE pbGroupAttributes,
02784 IN DWORD cbGroupAttributes,
02785 IN LPVOID lpReserved
02786 );
02787
02788 BOOLAPI
02789 SetUrlCacheEntryGroupW(
02790 IN LPCWSTR lpszUrlName,
02791 IN DWORD dwFlags,
02792 IN GROUPID GroupId,
02793 IN LPBYTE pbGroupAttributes,
02794 IN DWORD cbGroupAttributes,
02795 IN LPVOID lpReserved
02796 );
02797
02798 #ifdef UNICODE
02799 #define SetUrlCacheEntryGroup SetUrlCacheEntryGroupW
02800 #else
02801 #ifdef _WINX32_
02802 #define SetUrlCacheEntryGroup SetUrlCacheEntryGroupA
02803 #else
02804 BOOLAPI
02805 SetUrlCacheEntryGroup(
02806 IN LPCSTR lpszUrlName,
02807 IN DWORD dwFlags,
02808 IN GROUPID GroupId,
02809 IN LPBYTE pbGroupAttributes,
02810 IN DWORD cbGroupAttributes,
02811 IN LPVOID lpReserved
02812 );
02813 #endif
02814 #endif
02815
02816 INTERNETAPI
02817 HANDLE
02818 WINAPI
02819 FindFirstUrlCacheEntryExA(
02820 IN LPCSTR lpszUrlSearchPattern,
02821 IN DWORD dwFlags,
02822 IN DWORD dwFilter,
02823 IN GROUPID GroupId,
02824 OUT LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,
02825 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize,
02826 OUT LPVOID lpReserved,
02827 IN OUT LPDWORD pcbReserved2,
02828 IN LPVOID lpReserved3
02829 );
02830 INTERNETAPI
02831 HANDLE
02832 WINAPI
02833 FindFirstUrlCacheEntryExW(
02834 IN LPCWSTR lpszUrlSearchPattern,
02835 IN DWORD dwFlags,
02836 IN DWORD dwFilter,
02837 IN GROUPID GroupId,
02838 OUT LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,
02839 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize,
02840 OUT LPVOID lpReserved,
02841 IN OUT LPDWORD pcbReserved2,
02842 IN LPVOID lpReserved3
02843 );
02844 #ifdef UNICODE
02845 #define FindFirstUrlCacheEntryEx FindFirstUrlCacheEntryExW
02846 #else
02847 #define FindFirstUrlCacheEntryEx FindFirstUrlCacheEntryExA
02848 #endif
02849
02850 BOOLAPI
02851 FindNextUrlCacheEntryExA(
02852 IN HANDLE hEnumHandle,
02853 OUT LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,
02854 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize,
02855 OUT LPVOID lpReserved,
02856 IN OUT LPDWORD pcbReserved2,
02857 IN LPVOID lpReserved3
02858 );
02859 BOOLAPI
02860 FindNextUrlCacheEntryExW(
02861 IN HANDLE hEnumHandle,
02862 OUT LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,
02863 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize,
02864 OUT LPVOID lpReserved,
02865 IN OUT LPDWORD pcbReserved2,
02866 IN LPVOID lpReserved3
02867 );
02868 #ifdef UNICODE
02869 #define FindNextUrlCacheEntryEx FindNextUrlCacheEntryExW
02870 #else
02871 #define FindNextUrlCacheEntryEx FindNextUrlCacheEntryExA
02872 #endif
02873
02874 INTERNETAPI
02875 HANDLE
02876 WINAPI
02877 FindFirstUrlCacheEntryA(
02878 IN LPCSTR lpszUrlSearchPattern,
02879 OUT LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,
02880 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize
02881 );
02882 INTERNETAPI
02883 HANDLE
02884 WINAPI
02885 FindFirstUrlCacheEntryW(
02886 IN LPCWSTR lpszUrlSearchPattern,
02887 OUT LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,
02888 IN OUT LPDWORD lpdwFirstCacheEntryInfoBufferSize
02889 );
02890 #ifdef UNICODE
02891 #define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW
02892 #else
02893 #define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA
02894 #endif
02895
02896 BOOLAPI
02897 FindNextUrlCacheEntryA(
02898 IN HANDLE hEnumHandle,
02899 OUT LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,
02900 IN OUT LPDWORD lpdwNextCacheEntryInfoBufferSize
02901 );
02902 BOOLAPI
02903 FindNextUrlCacheEntryW(
02904 IN HANDLE hEnumHandle,
02905 OUT LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,
02906 IN OUT LPDWORD lpdwNextCacheEntryInfoBufferSize
02907 );
02908 #ifdef UNICODE
02909 #define FindNextUrlCacheEntry FindNextUrlCacheEntryW
02910 #else
02911 #define FindNextUrlCacheEntry FindNextUrlCacheEntryA
02912 #endif
02913
02914 BOOLAPI
02915 FindCloseUrlCache(
02916 IN HANDLE hEnumHandle
02917 );
02918
02919 BOOLAPI
02920 DeleteUrlCacheEntryA(
02921 IN LPCSTR lpszUrlName
02922 );
02923
02924 BOOLAPI
02925 DeleteUrlCacheEntryW(
02926 IN LPCWSTR lpszUrlName
02927 );
02928
02929 #ifdef UNICODE
02930 #define DeleteUrlCacheEntry DeleteUrlCacheEntryW
02931 #else
02932 #ifdef _WINX32_
02933 #define DeleteUrlCacheEntry DeleteUrlCacheEntryA
02934 #else
02935 BOOLAPI
02936 DeleteUrlCacheEntry(
02937 IN LPCSTR lpszUrlName
02938 );
02939 #endif
02940 #endif
02941
02942 INTERNETAPI
02943 DWORD
02944 WINAPI
02945 InternetDialA(
02946 IN HWND hwndParent,
02947 IN LPSTR lpszConnectoid,
02948 IN DWORD dwFlags,
02949 OUT DWORD_PTR *lpdwConnection,
02950 IN DWORD dwReserved
02951 );
02952
02953 INTERNETAPI
02954 DWORD
02955 WINAPI
02956 InternetDialW(
02957 IN HWND hwndParent,
02958 IN LPWSTR lpszConnectoid,
02959 IN DWORD dwFlags,
02960 OUT DWORD_PTR *lpdwConnection,
02961 IN DWORD dwReserved
02962 );
02963
02964 #ifdef UNICODE
02965 #define InternetDial InternetDialW
02966 #else
02967 #ifdef _WINX32_
02968 #define InternetDial InternetDialA
02969 #else
02970 INTERNETAPI
02971 DWORD
02972 WINAPI
02973 InternetDial(
02974 IN HWND hwndParent,
02975 IN LPSTR lpszConnectoid,
02976 IN DWORD dwFlags,
02977 OUT LPDWORD lpdwConnection,
02978 IN DWORD dwReserved
02979 );
02980 #endif
02981 #endif
02982
02983 #define INTERNET_DIAL_FORCE_PROMPT 0x2000
02984 #define INTERNET_DIAL_SHOW_OFFLINE 0x4000
02985 #define INTERNET_DIAL_UNATTENDED 0x8000
02986
02987 INTERNETAPI
02988 DWORD
02989 WINAPI
02990 InternetHangUp(
02991 IN DWORD dwConnection,
02992 IN DWORD dwReserved);
02993
02994 #define INTERENT_GOONLINE_REFRESH 0x00000001
02995 #define INTERENT_GOONLINE_MASK 0x00000001
02996
02997 INTERNETAPI
02998 BOOL
02999 WINAPI
03000 InternetGoOnlineA(
03001 IN LPSTR lpszURL,
03002 IN HWND hwndParent,
03003 IN DWORD dwFlags
03004 );
03005
03006 INTERNETAPI
03007 BOOL
03008 WINAPI
03009 InternetGoOnlineW(
03010 IN LPWSTR lpszURL,
03011 IN HWND hwndParent,
03012 IN DWORD dwFlags
03013 );
03014
03015 #ifdef UNICODE
03016 #define InternetGoOnline InternetGoOnlineW
03017 #else
03018 #ifdef _WINX32_
03019 #define InternetGoOnline InternetGoOnlineA
03020 #else
03021 INTERNETAPI
03022 BOOL
03023 WINAPI
03024 InternetGoOnline(
03025 IN LPSTR lpszURL,
03026 IN HWND hwndParent,
03027 IN DWORD dwFlags
03028 );
03029 #endif
03030 #endif
03031
03032 INTERNETAPI
03033 BOOL
03034 WINAPI
03035 InternetAutodial(
03036 IN DWORD dwFlags,
03037 IN HWND hwndParent);
03038
03039 #define INTERNET_AUTODIAL_FORCE_ONLINE 1
03040 #define INTERNET_AUTODIAL_FORCE_UNATTENDED 2
03041 #define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4
03042
03043 #define INTERNET_AUTODIAL_FLAGS_MASK (INTERNET_AUTODIAL_FORCE_ONLINE | INTERNET_AUTODIAL_FORCE_UNATTENDED | INTERNET_AUTODIAL_FAILIFSECURITYCHECK)
03044 INTERNETAPI
03045 BOOL
03046 WINAPI
03047 InternetAutodialHangup(
03048 IN DWORD dwReserved);
03049
03050 INTERNETAPI
03051 BOOL
03052 WINAPI
03053 InternetGetConnectedState(
03054 OUT LPDWORD lpdwFlags,
03055 IN DWORD dwReserved);
03056
03057 INTERNETAPI
03058 BOOL
03059 WINAPI
03060 InternetGetConnectedStateExA(
03061 OUT LPDWORD lpdwFlags,
03062 OUT LPSTR lpszConnectionName,
03063 IN DWORD dwNameLen,
03064 IN DWORD dwReserved
03065 );
03066
03067 INTERNETAPI
03068 BOOL
03069 WINAPI
03070 InternetGetConnectedStateExW(
03071 OUT LPDWORD lpdwFlags,
03072 OUT LPWSTR lpszConnectionName,
03073 IN DWORD dwNameLen,
03074 IN DWORD dwReserved
03075 );
03076
03077 #ifdef UNUSED
03078 INTERNETAPI
03079 BOOL
03080 WINAPI
03081 InternetInitializeAutoProxyDll(
03082 DWORD dwReserved
03083 );
03084 #endif
03085
03086 #ifdef UNICODE
03087 #define InternetGetConnectedStateEx InternetGetConnectedStateExW
03088 #else
03089 #ifdef _WINX32_
03090 #define InternetGetConnectedStateEx InternetGetConnectedStateExA
03091 #else
03092 INTERNETAPI
03093 BOOL
03094 WINAPI
03095 InternetGetConnectedStateEx(
03096 OUT LPDWORD lpdwFlags,
03097 IN LPSTR lpszConnectionName,
03098 IN DWORD dwNameLen,
03099 IN DWORD dwReserved
03100 );
03101 #endif
03102 #endif
03103
03104 #define INTERNET_CONNECTION_MODEM 0x01
03105 #define INTERNET_CONNECTION_LAN 0x02
03106 #define INTERNET_CONNECTION_PROXY 0x04
03107 #define INTERNET_CONNECTION_MODEM_BUSY 0x08
03108 #define INTERNET_RAS_INSTALLED 0x10
03109 #define INTERNET_CONNECTION_OFFLINE 0x20
03110 #define INTERNET_CONNECTION_CONFIGURED 0x40
03111
03112 typedef DWORD (CALLBACK * PFN_DIAL_HANDLER) (HWND, LPCSTR, DWORD, LPDWORD);
03113
03114 #define INTERNET_CUSTOMDIAL_CONNECT 0
03115 #define INTERNET_CUSTOMDIAL_UNATTENDED 1
03116 #define INTERNET_CUSTOMDIAL_DISCONNECT 2
03117 #define INTERNET_CUSTOMDIAL_SHOWOFFLINE 4
03118
03119 #define INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED 1
03120 #define INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE 2
03121 #define INTERNET_CUSTOMDIAL_CAN_HANGUP 4
03122
03123 INTERNETAPI
03124 BOOL
03125 WINAPI
03126 InternetSetDialStateA(
03127 IN LPCSTR lpszConnectoid,
03128 IN DWORD dwState,
03129 IN DWORD dwReserved
03130 );
03131
03132 INTERNETAPI
03133 BOOL
03134 WINAPI
03135 InternetSetDialStateW(
03136 IN LPCWSTR lpszConnectoid,
03137 IN DWORD dwState,
03138 IN DWORD dwReserved
03139 );
03140
03141 #ifdef UNICODE
03142 #define InternetSetDialState InternetSetDialStateW
03143 #else
03144 #ifdef _WINX32_
03145 #define InternetSetDialState InternetSetDialStateA
03146 #else
03147 INTERNETAPI
03148 BOOL
03149 WINAPI
03150 InternetSetDialState(
03151 IN LPCSTR lpszConnectoid,
03152 IN DWORD dwState,
03153 IN DWORD dwReserved
03154 );
03155 #endif
03156 #endif
03157
03158 #define INTERNET_DIALSTATE_DISCONNECTED 1
03159
03160 #if defined(__cplusplus)
03161 }
03162 #endif
03163
03164 #include <poppack.h>
03165
03166 #endif
03167