📄 wininet.h
字号:
OUT LPINTERNET_BUFFERSW lpBuffersOut,
IN DWORD dwFlags,
IN DWORD dwContext
);
#ifdef UNICODE
#define InternetReadFileEx InternetReadFileExW
#else
#define InternetReadFileEx InternetReadFileExA
#endif // !UNICODE
//
// flags for InternetReadFileEx()
//
#define IRF_ASYNC WININET_API_FLAG_ASYNC
#define IRF_SYNC WININET_API_FLAG_SYNC
#define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
#define IRF_NO_WAIT 0x00000008
INTERNETAPI
DWORD
WINAPI
InternetSetFilePointer(
IN HINTERNET hFile,
IN LONG lDistanceToMove,
IN PVOID pReserved,
IN DWORD dwMoveMethod,
IN DWORD dwContext
);
BOOLAPI
InternetWriteFile(
IN HINTERNET hFile,
IN LPCVOID lpBuffer,
IN DWORD dwNumberOfBytesToWrite,
OUT LPDWORD lpdwNumberOfBytesWritten
);
BOOLAPI
InternetQueryDataAvailable(
IN HINTERNET hFile,
OUT LPDWORD lpdwNumberOfBytesAvailable OPTIONAL,
IN DWORD dwFlags,
IN DWORD dwContext
);
BOOLAPI
InternetFindNextFileA(
IN HINTERNET hFind,
OUT LPVOID lpvFindData
);
BOOLAPI
InternetFindNextFileW(
IN HINTERNET hFind,
OUT LPVOID lpvFindData
);
#ifdef UNICODE
#define InternetFindNextFile InternetFindNextFileW
#else
#define InternetFindNextFile InternetFindNextFileA
#endif // !UNICODE
BOOLAPI
InternetQueryOptionA(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
OUT LPVOID lpBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
BOOLAPI
InternetQueryOptionW(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
OUT LPVOID lpBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
#ifdef UNICODE
#define InternetQueryOption InternetQueryOptionW
#else
#define InternetQueryOption InternetQueryOptionA
#endif // !UNICODE
BOOLAPI
InternetSetOptionA(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
IN LPVOID lpBuffer,
IN DWORD dwBufferLength
);
BOOLAPI
InternetSetOptionW(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
IN LPVOID lpBuffer,
IN DWORD dwBufferLength
);
#ifdef UNICODE
#define InternetSetOption InternetSetOptionW
#else
#define InternetSetOption InternetSetOptionA
#endif // !UNICODE
BOOLAPI
InternetSetOptionExA(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
IN LPVOID lpBuffer,
IN DWORD dwBufferLength,
IN DWORD dwFlags
);
BOOLAPI
InternetSetOptionExW(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
IN LPVOID lpBuffer,
IN DWORD dwBufferLength,
IN DWORD dwFlags
);
#ifdef UNICODE
#define InternetSetOptionEx InternetSetOptionExW
#else
#define InternetSetOptionEx InternetSetOptionExA
#endif // !UNICODE
BOOLAPI
InternetLockRequestFile(
IN HINTERNET hInternet,
OUT HANDLE * lphLockRequestInfo
);
BOOLAPI
InternetUnlockRequestFile(
IN HANDLE hLockRequestInfo
);
//
// flags for InternetSetOptionEx()
//
#define ISO_GLOBAL 0x00000001 // modify option globally
#define ISO_REGISTRY 0x00000002 // write option to registry (where applicable)
#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
//
// options manifests for Internet{Query|Set}Option
//
#define INTERNET_OPTION_CALLBACK 1
#define INTERNET_OPTION_CONNECT_TIMEOUT 2
#define INTERNET_OPTION_CONNECT_RETRIES 3
#define INTERNET_OPTION_CONNECT_BACKOFF 4
#define INTERNET_OPTION_SEND_TIMEOUT 5
#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT
#define INTERNET_OPTION_RECEIVE_TIMEOUT 6
#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
#define INTERNET_OPTION_DATA_SEND_TIMEOUT 7
#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8
#define INTERNET_OPTION_HANDLE_TYPE 9
#define INTERNET_OPTION_LISTEN_TIMEOUT 11
#define INTERNET_OPTION_READ_BUFFER_SIZE 12
#define INTERNET_OPTION_WRITE_BUFFER_SIZE 13
#define INTERNET_OPTION_ASYNC_ID 15
#define INTERNET_OPTION_ASYNC_PRIORITY 16
#define INTERNET_OPTION_PARENT_HANDLE 21
#define INTERNET_OPTION_KEEP_CONNECTION 22
#define INTERNET_OPTION_REQUEST_FLAGS 23
#define INTERNET_OPTION_EXTENDED_ERROR 24
#define INTERNET_OPTION_OFFLINE_MODE 26
#define INTERNET_OPTION_CACHE_STREAM_HANDLE 27
#define INTERNET_OPTION_USERNAME 28
#define INTERNET_OPTION_PASSWORD 29
#define INTERNET_OPTION_ASYNC 30
#define INTERNET_OPTION_SECURITY_FLAGS 31
#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
#define INTERNET_OPTION_DATAFILE_NAME 33
#define INTERNET_OPTION_URL 34
#define INTERNET_OPTION_SECURITY_CERTIFICATE 35
#define INTERNET_OPTION_SECURITY_KEY_BITNESS 36
#define INTERNET_OPTION_REFRESH 37
#define INTERNET_OPTION_PROXY 38
#define INTERNET_OPTION_SETTINGS_CHANGED 39
#define INTERNET_OPTION_VERSION 40
#define INTERNET_OPTION_USER_AGENT 41
#define INTERNET_OPTION_END_BROWSER_SESSION 42
#define INTERNET_OPTION_PROXY_USERNAME 43
#define INTERNET_OPTION_PROXY_PASSWORD 44
#define INTERNET_OPTION_CONTEXT_VALUE 45
#define INTERNET_OPTION_CONNECT_LIMIT 46
#define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47
#define INTERNET_OPTION_POLICY 48
#define INTERNET_OPTION_DISCONNECTED_TIMEOUT 49
#define INTERNET_OPTION_CONNECTED_STATE 50
#define INTERNET_OPTION_IDLE_STATE 51
#define INTERNET_OPTION_OFFLINE_SEMANTICS 52
#define INTERNET_OPTION_SECONDARY_CACHE_KEY 53
#define INTERNET_OPTION_CALLBACK_FILTER 54
#define INTERNET_OPTION_CONNECT_TIME 55
#define INTERNET_OPTION_SEND_THROUGHPUT 56
#define INTERNET_OPTION_RECEIVE_THROUGHPUT 57
#define INTERNET_OPTION_REQUEST_PRIORITY 58
#define INTERNET_OPTION_HTTP_VERSION 59
#define INTERNET_OPTION_RESET_URLCACHE_SESSION 60
#define INTERNET_OPTION_ERROR_MASK 62
#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
#define INTERNET_LAST_OPTION INTERNET_OPTION_ERROR_MASK
//
// values for INTERNET_OPTION_PRIORITY
//
#define INTERNET_PRIORITY_FOREGROUND 1000
//
// handle types
//
#define INTERNET_HANDLE_TYPE_INTERNET 1
#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
#define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4
#define INTERNET_HANDLE_TYPE_FTP_FIND 5
#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6
#define INTERNET_HANDLE_TYPE_FTP_FILE 7
#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8
#define INTERNET_HANDLE_TYPE_GOPHER_FIND 9
#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10
#define INTERNET_HANDLE_TYPE_GOPHER_FILE 11
#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12
#define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13
//
// values for INTERNET_OPTION_SECURITY_FLAGS
//
// query only
#define SECURITY_FLAG_SECURE 0x00000001 // can query only
#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000
#define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000
#define SECURITY_FLAG_STRENGTH_STRONG 0x20000000
#define SECURITY_FLAG_UNKNOWNBIT 0x80000000
#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_STRENGTH_WEAK
// The following are unused
#define SECURITY_FLAG_SSL 0x00000002
#define SECURITY_FLAG_SSL3 0x00000004
#define SECURITY_FLAG_PCT 0x00000008
#define SECURITY_FLAG_PCT4 0x00000010
#define SECURITY_FLAG_IETFSSL4 0x00000020
// The following are for backwards compatability only.
#define SECURITY_FLAG_40BIT SECURITY_FLAG_STRENGTH_WEAK
#define SECURITY_FLAG_128BIT SECURITY_FLAG_STRENGTH_STRONG
#define SECURITY_FLAG_56BIT SECURITY_FLAG_STRENGTH_MEDIUM
// setable flags
#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
#define SECURITY_SET_MASK (SECURITY_FLAG_IGNORE_REVOCATION |\
SECURITY_FLAG_IGNORE_UNKNOWN_CA |\
SECURITY_FLAG_IGNORE_CERT_CN_INVALID |\
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |\
SECURITY_FLAG_IGNORE_WRONG_USAGE)
BOOLAPI
InternetGetLastResponseInfoA(
OUT LPDWORD lpdwError,
OUT LPSTR lpszBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
BOOLAPI
InternetGetLastResponseInfoW(
OUT LPDWORD lpdwError,
OUT LPWSTR lpszBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
#ifdef UNICODE
#define InternetGetLastResponseInfo InternetGetLastResponseInfoW
#else
#define InternetGetLastResponseInfo InternetGetLastResponseInfoA
#endif // !UNICODE
//
// callback function for InternetSetStatusCallback
//
typedef
VOID
(CALLBACK * INTERNET_STATUS_CALLBACK)(
IN HINTERNET hInternet,
IN DWORD dwContext,
IN DWORD dwInternetStatus,
IN LPVOID lpvStatusInformation OPTIONAL,
IN DWORD dwStatusInformationLength
);
typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
INTERNETAPI
INTERNET_STATUS_CALLBACK
WINAPI
InternetSetStatusCallback(
IN HINTERNET hInternet,
IN INTERNET_STATUS_CALLBACK lpfnInternetCallback
);
//
// status manifests for Internet status callback
//
#define INTERNET_STATUS_RESOLVING_NAME 10
#define INTERNET_STATUS_NAME_RESOLVED 11
#define INTERNET_STATUS_CONNECTING_TO_SERVER 20
#define INTERNET_STATUS_CONNECTED_TO_SERVER 21
#define INTERNET_STATUS_SENDING_REQUEST 30
#define INTERNET_STATUS_REQUEST_SENT 31
#define INTERNET_STATUS_RECEIVING_RESPONSE 40
#define INTERNET_STATUS_RESPONSE_RECEIVED 41
#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42
#define INTERNET_STATUS_PREFETCH 43
#define INTERNET_STATUS_CLOSING_CONNECTION 50
#define INTERNET_STATUS_CONNECTION_CLOSED 51
#define INTERNET_STATUS_HANDLE_CREATED 60
#define INTERNET_STATUS_HANDLE_CLOSING 70
#define INTERNET_STATUS_REQUEST_COMPLETE 100
#define INTERNET_STATUS_REDIRECT 110
#define INTERNET_STATUS_INTERMEDIATE_RESPONSE 120
#define INTERNET_STATUS_STATE_CHANGE 200
//
// the following can be indicated in a state change notification:
//
#define INTERNET_STATE_CONNECTED 0x00000001 // connected state (mutually exclusive with disconnected)
#define INTERNET_STATE_DISCONNECTED 0x00000002 // disconnected from network
#define INTERNET_STATE_DISCONNECTED_BY_USER 0x00000010 // disconnected by user request
#define INTERNET_STATE_IDLE 0x00000100 // no network requests being made (by Wininet)
#define INTERNET_STATE_BUSY 0x00000200 // network requests being made (by Wininet)
//
// if the following value is returned by InternetSetStatusCallback, then
// probably an invalid (non-code) address was supplied for the callback
//
#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L))
//
// FTP
//
//
// manifests
//
#define FTP_TRANSFER_TYPE_UNKNOWN 0x00000000
#define FTP_TRANSFER_TYPE_ASCII 0x00000001
#define FTP_TRANSFER_TYPE_BINARY 0x00000002
#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
//
// prototypes
//
INTERNETAPI
HINTERNET
WINAPI
FtpFindFirstFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszSearchFile OPTIONAL,
OUT LPWIN32_FIND_DATA lpFindFileData OPTIONAL,
IN DWORD dwFlags,
IN DWORD dwContext
);
INTERNETAPI
HINTERNET
WINAPI
FtpFindFirstFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszSearchFile OPTIONAL,
OUT LPWIN32_FIND_DATA lpFindFileData OPTIONAL,
IN DWORD dwFlags,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -