ructures

This list identifies the Win32 Internet function data structures and their uses.

GOPHER_ATTRIBUTE_TYPE

typedef struct { DWORD CategoryId

DWORD AttributeId union {

GOPHER_ADMIN_ATTRIBUTE Admin;

GOPHER_MOD_DATE_ATTRIBUTE ModDate; GOPHER_SCORE_ATTRIBUTE Score; GOPHER_SCORE_RANGE_ATTRIBUTE ScoreRange; GOPHER_SITE_ATTRIBUTE Site;

GOPHER_ORGANIZATION_ATTRIBUTE Organization; GOPHER_LOCATION_ATTRIBUTE Location;

GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE GeographicalLocation; GOPHER_TIMEZONE_ATTRIBUTE TimeZone; GOPHER_PROVIDER_ATTRIBUTE Provider;

GOPHER_VERSION_ATTRIBUTE Version; GOPHER_ABSTRACT_ATTRIBUTE Abstract; GOPHER_VIEW_ATTRIBUTE View; GOPHER_VERONICA_ATTRIBUTE Veronica; GOPHER_ASK_ATTRIBUTE_TYPE Ask; GOPHER_UNKNOWN_ATTRIBUTE Unknown;

} AttributeType;

} GOPHER_ATTRIBUTE_TYPE, *LPGOPHER_ATTRIBUTE_TYPE;

Contains the relevant information of a single Gopher attribute for an object.

CategoryId

Gopher name for the attribute. The possible values include: GOPHER_CATEGORY_ID_ALL

GOPHER_CATEGORY_ID_INFO

GOPHER_CATEGORY_ID_ADMIN GOPHER_CATEGORY_ID_VIEWS GOPHER_CATEGORY_ID_ABSTRACT GOPHER_CATEGORY_ID_VERONICA GOPHER_CATEGORY_ID_UNKNOWN

AttributeId

Identifier of the structure contained in the AttributeType member. The possible values include:

GOPHER_ATTRIBUTE_ID_ADMIN GOPHER_ATTRIBUTE_ID_MOD_DATE GOPHER_ATTRIBUTE_ID_TTL GOPHER_ATTRIBUTE_ID_SCORE GOPHER_ATTRIBUTE_ID_RANGE GOPHER_ATTRIBUTE_ID_SITE GOPHER_ATTRIBUTE_ID_ORG GOPHER_ATTRIBUTE_ID_LOCATION GOPHER_ATTRIBUTE_ID_GEOG GOPHER_ATTRIBUTE_ID_TIMEZONE GOPHER_ATTRIBUTE_ID_PROVIDER GOPHER_ATTRIBUTE_ID_VERSION GOPHER_ATTRIBUTE_ID_ABSTRACT GOPHER_ATTRIBUTE_ID_VIEW GOPHER_ATTRIBUTE_ID_TREEWALK

GOPHER_ATTRIBUTE_ID_UNKNOWN

AttributeType

Actual setting for the Gopher attribute. The specific value of AttributeType depends on the AttributeId member. The definitions of the various attribute structures is available in Wininet.h.

See also GopherGetAttribute

GOPHER_FIND_DATA

typedef struct {

TCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1]; DWORD GopherType;

DWORD SizeLow;

DWORD SizeHigh;

FILETIME LastModificationTime;

TCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];

} GOPHER_FIND_DATA, FAR *LPGOPHER_FIND_DATA;

Contains information retrieved by the GopherFindFirstFile and

InternetFindNextFile functions.

DisplayString

String that contains the friendly name of an object. An application can display this string to allow the user to select the object.

GopherType

Mask of flags that describe the item returned.

FileSizeLow

Low 32 bits of the file size.

FileSizeHigh

High 32 bits of the file size.

LastModificationTime

Time when the file was last modified.

Locator

String that identifies the file. An application can pass the locator string to GopherOpenFile or GopherFindFirstFile .

See also GopherFindFirstFile

INTERNET_ASYNC_RESULT

typedef struct { DWORD dwResult; DWORD dwError;

} INTERNET_ASYNC_RESULT, * LPINTERNET_ASYNC_RESULT;

Contains the result of a call to an asynchronous function. This structure is used with the InternetStatusCallback function.

dwResult

HINTERNET, DWORD, or BOOL return code from an asynchronous function.

dwError

Error code if dwResult indicates that the function failed. If the operation succeeded, this member usually contains ERROR_SUCCESS.

See also InternetStatusCallback

INTERNET_CACHE_ENTRY_INFO

typedef struct _CACHE_ENTRY_INFO { DWORD dwStructSize;

LPSTR lpszSourceUrlName; LPTSTR lpszLocalFileName; DWORD CacheEntryType; DWORD dwUseCount;

DWORD dwHitRate; DWORD dwSizeLow; DWORD dwSizeHigh;

FILETIME LastModifiedTime; FILETIME ExpireTime; FILETIME LastAccessTime; FILETIME LastSyncTime; LPBYTE lpHeaderInfo;

DWORD dwHeaderInfoSize; LPTSTR lpszFileExtension; DWORD dwReserved;

} INTERNET_CACHE_ENTRY_INFO, *LPINTERNET_CACHE_ENTRY_INFO;

Contains information about an entry in the cache.

dwStructSize

Size, in bytes, of this structure.

lpszSourceUrlName

Address of a string that contains the URL name. The string occupies memory area at the end of this structure.

lpszLocalFileName

Address of a string that contains the local file name. The string occupies memory area at the end of this structure.

CacheEntryType

Cache type bit mask. Can be one of these values:

Value Meaning

NORMAL_CACHE_ENTRY Normal cache entry; may be deleted to recover space for new entries.

STABLE_CACHE_ENTRY Stable cache entry such as graphic and audio/video files; may be deleted to recover space for the new entries only when there is no more NORMAL_CACHE_ENTRY.

STICKY_CACHE_ENTRY Entries that will never be removed automatically by the cache management system.

SPARSE_CACHE_ENTRY This cache entry is incomplete. OCX_CACHE_ENTRY Special OCX type cache entry.

dwUseCount

Current user count of the cache entry.

dwHitRate

Number of times the cache entry was retrieved.

dwSizeLow

Low-order double word of the file size.

dwSizeHigh

High-order double word of the file size.

LastModifiedTime

Last modified time of this URL in GMT format.

ExpireTime

Expiration time of this file in GMT format.

LastAccessTime

Last accessed time in GMT format.

LastSyncTime

Last time the cache was synchronized.

lpHeaderInfo

Address of a buffer that contains the header information. The buffer occupies memory at the end of this structure.

dwHeaderInfoSize

Size of the lpHeaderInfo buffer.

lpszFileExtension

Address of a string that contains the file extension used to retrieve the data as a file. The string occupies memory area at the end of this structure.

dwReserved

Reserved; must be zero.

The MAX_CACHE_ENTRY_INFO_SIZE value defines the maximum size of the INTERNET_CACHE_ENTRY_INFO structure that could be returned by the implementation of the cache functions. Thus passing in a buffer of this size in functions returning INTERNET_CACHE_ENTRY_INFO guarantees that the function does not fail because of an insufficient buffer.

INTERNET_CERTIFICATE_INFO

typedef struct { FILETIME ftExpiry; FILETIME ftStart;

LPTSTR lpszSubjectInfo; LPTSTR lpszIssuerInfo;

LPTSTR lpszProtocolName; LPTSTR lpszSignatureAlgName;

LPTSTR lpszEncryptionAlgName; DWORD dwKeySize;

} INTERNET_CERTIFICATE_INFO, * LPINTERNET_CERTIFICATE_INFO;

Contains certificate information returned from the server. This structure is used by the InternetQueryOption function.

ftExpiry

FILETIME structure that contains the date the certificate expires.

ftStart

FILETIME structure that contains the date the certificate becomes valid.

lpszSubjectInfo

Address of a buffer that contains the name of the organization, site, and server for which the certificate was issued.

lpszIssuerInfo

Address of a buffer that contains the name of the organization, site, and server that issued the certificate.

lpszProtocolName

Address of a buffer that contains the name of the protocol used to provide the secure connection.

lpszSignatureAlgName

Address of a buffer that contains the name of the algorithm used for signing the certificate.

lpszEncryptionAlgName

Address of a buffer that contains the name of the algorithm used for doing encryption over the secure channel (SSL/PCT) connection.

dwKeySize

Size, in bytes, of the key.

Applications requesting this information must free pointers that are allocated and placed in the returned structure.

See also InternetQueryOption

INTERNET_PREFETCH_STATUS

typedef struct { DWORD dwStatus; DWORD dwSize;

} INTERNET_PREFETCH_STATUS, * LPINTERNET_PREFETCH_STATUS;

Contains the status of a prefetch download operation.

dwStatus

Status of the download. Can be one of these values: INTERNET_PREFETCH_PROGRESS The operation is in progress. INTERNET_PREFETCH_COMPLETE The operation has completed. INTERNET_PREFETCH_ABORTED The operation was aborted.

dwSize

Size, in bytes, of data downloaded so far.

INTERNET_PROXY_INFO

typedef struct {

DWORD dwAccessType; LPCTSTR lpszProxy; LPCTSTR lpszProxyBypass;

} INTERNET_PROXY_INFO, * LPINTERNET_PROXY_INFO;

Contains information that is supplied with the INTERNET_OPTION_PROXY value to get or set proxy information on a handle obtained from a call to the InternetOpen function.

dwAccessType

Access type. Can be one of these values:

Value Meaning

INTERNET_OPEN_TYPE_DIRECT Internet accessed through a

direct connection.

INTERNET_OPEN_TYPE_PROXY Internet accessed using a proxy.

INTERNET_OPEN_TYPE_PRECONFI G

lpszProxy

Proxy server list.

lpszProxyBypass

Proxy bypass list.

Applies only when setting proxy information.

INTERNET_SCHEME

typedef enum { INTERNET_SCHEME_PARTIAL = -2,

INTERNET_SCHEME_UNKNOWN = -1,

INTERNET_SCHEME_DEFAULT = 0, INTERNET_SCHEME_FTP, INTERNET_SCHEME_GOPHER, INTERNET_SCHEME_HTTP, INTERNET_SCHEME_HTTPS, INTERNET_SCHEME_FILE, INTERNET_SCHEME_NEWS, INTERNET_SCHEME_MAILTO,

INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_MAILTO

} INTERNET_SCHEME, * LPINTERNET_SCHEME;

Defines the flags used with the nScheme member of the URL_COMPONENTS

structure.

INTERNET_VERSION_INFO

typedef struct {

DWORD dwMajorVersion;

DWORD dwMinorVersion;

} INTERNET_VERSION_INFO, * LPINTERNET_VERSION_INFO;

Contains the version number of the DLL that contains the Windows Internet functions (Wininet.dll). This structure is used when passing the INTERNET_OPTION_VERSION flag to the InternetQueryOption function.

dwMajorVersion

Major version number.

dwMinorVersion

Minor version number.

URL_COMPONENTS

typedef struct {

DWORD dwStructSize;

LPSTR lpszScheme;

DWORD dwSchemeLength;

INTERNET_SCHEME nScheme; LPSTR lpszHostName; DWORD dwHostNameLength; INTERNET_PORT nPort;

LPSTR lpszUserName; DWORD dwUserNameLength; LPSTR lpszPassword; DWORD dwPasswordLength' LPSTR lpszUrlPath; DWORD dwUrlPathLength; LPTSTR lpszExtraInfo;

DWORD dwExtraInfoLength;

} URL_COMPONENTS;

Contains the constituent parts of a URL. This structure is used with the

InternetCrackUrl and InternetCreateUrl functions.

dwStructSize

Size, in bytes, of this structure. Used for version checking.

lpszScheme

Address of a buffer that contains the scheme name.

dwSchemeLength

Length of the scheme name.

nScheme

Enumerated scheme type (if known). For a list of scheme types, see

INTERNET_SCHEME .

lpszHostName

Address of a buffer that contains the host name.

dwHostNameLength

Length of the host name.

nPort

Converted port number.

lpszUserName

Address of a buffer that contains the user name.

dwUserNameLength

Length of the user name.

lpszPassword

Address of a buffer that contains the password.

dwPasswordLength

Length of the password.

lpszUrlPath

Address of a buffer that contains the URL path.

dwUrlPathLength

Length of the URL path.

lpszExtraInfo

Address of a buffer that contains the extra information (for example, ?foo or #foo).

dwExtraInfoLength

Length of the extra information.

For InternetCrackUrl, if a pointer member and its corresponding length member are both zero, that component is not returned. If the pointer member is NULL but the length member is not zero, both the pointer and length members are returned. If both pointer and corresponding length members are non-zero, the pointer member points to a buffer where the component is copied. The component may be un-escaped, depending on the dwFlags parameter of InternetCrackUrl.

For InternetCreateUrl, the pointer members should be NULL if the component is not required. If the corresponding length member is zero, the pointer member is the address of a zero-terminated string. If the length member is not zero, it is the string length of the corresponding pointer member