📄 wininet.h
字号:
IN DWORD dwContext
);
#ifdef UNICODE
#define FtpFindFirstFile FtpFindFirstFileW
#else
#define FtpFindFirstFile FtpFindFirstFileA
#endif // !UNICODE
BOOLAPI
FtpGetFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszRemoteFile,
IN LPCSTR lpszNewFile,
IN BOOL fFailIfExists,
IN DWORD dwFlagsAndAttributes,
IN DWORD dwFlags,
IN DWORD dwContext
);
BOOLAPI
FtpGetFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszRemoteFile,
IN LPCWSTR lpszNewFile,
IN BOOL fFailIfExists,
IN DWORD dwFlagsAndAttributes,
IN DWORD dwFlags,
IN DWORD dwContext
);
#ifdef UNICODE
#define FtpGetFile FtpGetFileW
#else
#define FtpGetFile FtpGetFileA
#endif // !UNICODE
BOOLAPI
FtpPutFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszLocalFile,
IN LPCSTR lpszNewRemoteFile,
IN DWORD dwFlags,
IN DWORD dwContext
);
BOOLAPI
FtpPutFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszLocalFile,
IN LPCWSTR lpszNewRemoteFile,
IN DWORD dwFlags,
IN DWORD dwContext
);
#ifdef UNICODE
#define FtpPutFile FtpPutFileW
#else
#define FtpPutFile FtpPutFileA
#endif // !UNICODE
BOOLAPI
FtpDeleteFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszFileName
);
BOOLAPI
FtpDeleteFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszFileName
);
#ifdef UNICODE
#define FtpDeleteFile FtpDeleteFileW
#else
#define FtpDeleteFile FtpDeleteFileA
#endif // !UNICODE
BOOLAPI
FtpRenameFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszExisting,
IN LPCSTR lpszNew
);
BOOLAPI
FtpRenameFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszExisting,
IN LPCWSTR lpszNew
);
#ifdef UNICODE
#define FtpRenameFile FtpRenameFileW
#else
#define FtpRenameFile FtpRenameFileA
#endif // !UNICODE
INTERNETAPI
HINTERNET
WINAPI
FtpOpenFileA(
IN HINTERNET hConnect,
IN LPCSTR lpszFileName,
IN DWORD dwAccess,
IN DWORD dwFlags,
IN DWORD dwContext
);
INTERNETAPI
HINTERNET
WINAPI
FtpOpenFileW(
IN HINTERNET hConnect,
IN LPCWSTR lpszFileName,
IN DWORD dwAccess,
IN DWORD dwFlags,
IN DWORD dwContext
);
#ifdef UNICODE
#define FtpOpenFile FtpOpenFileW
#else
#define FtpOpenFile FtpOpenFileA
#endif // !UNICODE
BOOLAPI
FtpCreateDirectoryA(
IN HINTERNET hConnect,
IN LPCSTR lpszDirectory
);
BOOLAPI
FtpCreateDirectoryW(
IN HINTERNET hConnect,
IN LPCWSTR lpszDirectory
);
#ifdef UNICODE
#define FtpCreateDirectory FtpCreateDirectoryW
#else
#define FtpCreateDirectory FtpCreateDirectoryA
#endif // !UNICODE
BOOLAPI
FtpRemoveDirectoryA(
IN HINTERNET hConnect,
IN LPCSTR lpszDirectory
);
BOOLAPI
FtpRemoveDirectoryW(
IN HINTERNET hConnect,
IN LPCWSTR lpszDirectory
);
#ifdef UNICODE
#define FtpRemoveDirectory FtpRemoveDirectoryW
#else
#define FtpRemoveDirectory FtpRemoveDirectoryA
#endif // !UNICODE
BOOLAPI
FtpSetCurrentDirectoryA(
IN HINTERNET hConnect,
IN LPCSTR lpszDirectory
);
BOOLAPI
FtpSetCurrentDirectoryW(
IN HINTERNET hConnect,
IN LPCWSTR lpszDirectory
);
#ifdef UNICODE
#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW
#else
#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA
#endif // !UNICODE
BOOLAPI
FtpGetCurrentDirectoryA(
IN HINTERNET hConnect,
OUT LPSTR lpszCurrentDirectory,
IN OUT LPDWORD lpdwCurrentDirectory
);
BOOLAPI
FtpGetCurrentDirectoryW(
IN HINTERNET hConnect,
OUT LPWSTR lpszCurrentDirectory,
IN OUT LPDWORD lpdwCurrentDirectory
);
#ifdef UNICODE
#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW
#else
#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA
#endif // !UNICODE
//
// Gopher
//
//
// manifests
//
//
// string field lengths (in characters, not bytes)
//
#define MAX_GOPHER_DISPLAY_TEXT 128
#define MAX_GOPHER_SELECTOR_TEXT 256
#define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH
#define MAX_GOPHER_LOCATOR_LENGTH (1 \
+ MAX_GOPHER_DISPLAY_TEXT \
+ 1 \
+ MAX_GOPHER_SELECTOR_TEXT \
+ 1 \
+ MAX_GOPHER_HOST_NAME \
+ 1 \
+ INTERNET_MAX_PORT_NUMBER_LENGTH \
+ 1 \
+ 1 \
+ 2 \
)
//
// structures/types
//
//
// GOPHER_FIND_DATA - returns the results of a GopherFindFirstFile()/
// InternetFindNextFile() request
//
typedef struct {
CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
DWORD GopherType; // GOPHER_TYPE_, if known
DWORD SizeLow;
DWORD SizeHigh;
FILETIME LastModificationTime;
CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
} GOPHER_FIND_DATAA, * LPGOPHER_FIND_DATAA;
typedef struct {
WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
DWORD GopherType; // GOPHER_TYPE_, if known
DWORD SizeLow;
DWORD SizeHigh;
FILETIME LastModificationTime;
WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
} GOPHER_FIND_DATAW, * LPGOPHER_FIND_DATAW;
#ifdef UNICODE
typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA;
typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA;
#else
typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
#endif // UNICODE
//
// manifests for GopherType
//
#define GOPHER_TYPE_TEXT_FILE 0x00000001
#define GOPHER_TYPE_DIRECTORY 0x00000002
#define GOPHER_TYPE_CSO 0x00000004
#define GOPHER_TYPE_ERROR 0x00000008
#define GOPHER_TYPE_MAC_BINHEX 0x00000010
#define GOPHER_TYPE_DOS_ARCHIVE 0x00000020
#define GOPHER_TYPE_UNIX_UUENCODED 0x00000040
#define GOPHER_TYPE_INDEX_SERVER 0x00000080
#define GOPHER_TYPE_TELNET 0x00000100
#define GOPHER_TYPE_BINARY 0x00000200
#define GOPHER_TYPE_REDUNDANT 0x00000400
#define GOPHER_TYPE_TN3270 0x00000800
#define GOPHER_TYPE_GIF 0x00001000
#define GOPHER_TYPE_IMAGE 0x00002000
#define GOPHER_TYPE_BITMAP 0x00004000
#define GOPHER_TYPE_MOVIE 0x00008000
#define GOPHER_TYPE_SOUND 0x00010000
#define GOPHER_TYPE_HTML 0x00020000
#define GOPHER_TYPE_PDF 0x00040000
#define GOPHER_TYPE_CALENDAR 0x00080000
#define GOPHER_TYPE_INLINE 0x00100000
#define GOPHER_TYPE_UNKNOWN 0x20000000
#define GOPHER_TYPE_ASK 0x40000000
#define GOPHER_TYPE_GOPHER_PLUS 0x80000000
//
// gopher type macros
//
#define IS_GOPHER_FILE(type) (BOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE)
#define IS_GOPHER_DIRECTORY(type) (BOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE)
#define IS_GOPHER_PHONE_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE)
#define IS_GOPHER_ERROR(type) (BOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE)
#define IS_GOPHER_INDEX_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE)
#define IS_GOPHER_TELNET_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE)
#define IS_GOPHER_BACKUP_SERVER(type) (BOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE)
#define IS_GOPHER_TN3270_SESSION(type) (BOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE)
#define IS_GOPHER_ASK(type) (BOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE)
#define IS_GOPHER_PLUS(type) (BOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE)
#define IS_GOPHER_TYPE_KNOWN(type) (BOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE)
//
// GOPHER_TYPE_FILE_MASK - use this to determine if a locator identifies a
// (known) file type
//
#define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE \
| GOPHER_TYPE_MAC_BINHEX \
| GOPHER_TYPE_DOS_ARCHIVE \
| GOPHER_TYPE_UNIX_UUENCODED \
| GOPHER_TYPE_BINARY \
| GOPHER_TYPE_GIF \
| GOPHER_TYPE_IMAGE \
| GOPHER_TYPE_BITMAP \
| GOPHER_TYPE_MOVIE \
| GOPHER_TYPE_SOUND \
| GOPHER_TYPE_HTML \
| GOPHER_TYPE_PDF \
| GOPHER_TYPE_CALENDAR \
| GOPHER_TYPE_INLINE \
)
//
// structured gopher attributes (as defined in gopher+ protocol document)
//
typedef struct {
LPCTSTR Comment;
LPCTSTR EmailAddress;
} GOPHER_ADMIN_ATTRIBUTE_TYPE, * LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
typedef struct {
FILETIME DateAndTime;
} GOPHER_MOD_DATE_ATTRIBUTE_TYPE, * LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
typedef struct {
DWORD Ttl;
} GOPHER_TTL_ATTRIBUTE_TYPE, * LPGOPHER_TTL_ATTRIBUTE_TYPE;
typedef struct {
INT Score;
} GOPHER_SCORE_ATTRIBUTE_TYPE, * LPGOPHER_SCORE_ATTRIBUTE_TYPE;
typedef struct {
INT LowerBound;
INT UpperBound;
} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, * LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Site;
} GOPHER_SITE_ATTRIBUTE_TYPE, * LPGOPHER_SITE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Organization;
} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE, * LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Location;
} GOPHER_LOCATION_ATTRIBUTE_TYPE, * LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
typedef struct {
INT DegreesNorth;
INT MinutesNorth;
INT SecondsNorth;
INT DegreesEast;
INT MinutesEast;
INT SecondsEast;
} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, * LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
typedef struct {
INT Zone;
} GOPHER_TIMEZONE_ATTRIBUTE_TYPE, * LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Provider;
} GOPHER_PROVIDER_ATTRIBUTE_TYPE, * LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Version;
} GOPHER_VERSION_ATTRIBUTE_TYPE, * LPGOPHER_VERSION_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR ShortAbstract;
LPCTSTR AbstractFile;
} GOPHER_ABSTRACT_ATTRIBUTE_TYPE, * LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR ContentType;
LPCTSTR Language;
DWORD Size;
} GOPHER_VIEW_ATTRIBUTE_TYPE, * LPGOPHER_VIEW_ATTRIBUTE_TYPE;
typedef struct {
BOOL TreeWalk;
} GOPHER_VERONICA_ATTRIBUTE_TYPE, * LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR QuestionType;
LPCTSTR QuestionText;
} GOPHER_ASK_ATTRIBUTE_TYPE, * LPGOPHER_ASK_ATTRIBUTE_TYPE;
//
// GOPHER_UNKNOWN_ATTRIBUTE_TYPE - this is returned if we retrieve an attribute
// that is not specified in the current gopher/gopher+ documentation. It is up
// to the application to parse the information
//
typedef struct {
LPCTSTR Text;
} GOPHER_UNKNOWN_ATTRIBUTE_TYPE, * LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
//
// GOPHER_ATTRIBUTE_TYPE - returned in the user's buffer when an enumerated
// GopherGetAttribute call is made
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -