GopherOpenFileA function (wininet.h)

[The GopherOpenFile function is available for use in the operating systems specified in the Requirements section.]

Begins reading a Gopher data file from a Gopher server.


HINTERNET GopherOpenFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszLocator,
  [in] LPCSTR    lpszView,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext


[in] hConnect

Handle to a Gopher session returned by InternetConnect.

[in] lpszLocator

Pointer to a null-terminated string that specifies the file to be opened. Generally, this locator is returned from a call to GopherFindFirstFile or InternetFindNextFile. Because the Gopher protocol has no concept of a current directory, the locator is always fully qualified.

[in] lpszView

Pointer to a null-terminated string that describes the view to open if several views of the file exist on the server. If lpszView is NULL, the function uses the default file view.

[in] dwFlags

Conditions under which subsequent transfers occur. This parameter can be any of the following values.

Value Meaning
Forces a reload if there was no Expires time and no LastModified time returned from the server when determining whether to reload the item from the network.
Causes a temporary file to be created if the file cannot be cached.
Does not add the returned entity to the cache.
Forces a download of the requested file, object, or directory listing from the origin server, not from the cache.
Reloads HTTP resources if the resource has been modified since the last time it was downloaded. All FTP and Gopher resources are reloaded.

[in] dwContext

Pointer to a variable that contains an application-defined value that associates this operation with any application data.

Return value

Returns a handle if successful, or NULL if the file cannot be opened. To retrieve extended error information, call GetLastError or InternetGetLastResponseInfo.


GopherOpenFile opens a file at a Gopher server. Because a file cannot actually be opened or locked at a server, this function simply associates location information with a handle that an application can use for file-based operations such as InternetReadFile or GopherGetAttribute.

After the calling application has finished using the HINTERNET handle returned by GopherOpenFile, it must be closed using the InternetCloseHandle function.

Like all other aspects of the WinINet API, this function cannot be safely called from within DllMain or the constructors and destructors of global objects.

Note  WinINet does not support server implementations. In addition, it should not be used from a service. For server implementations or services use Microsoft Windows HTTP Services (WinHTTP).


The wininet.h header defines GopherOpenFile as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wininet.h
Library Wininet.lib
DLL Wininet.dll

See also

WinINet Functions