GopherFindFirstFileA 函数 (wininet.h)

[ GopherFindFirstFile 函数可用于“要求”部分中指定的操作系统。]

使用 Gopher 定位符和搜索条件与服务器创建会话,并查找请求的文档、二进制文件、索引服务器或目录树。

语法

HINTERNET GopherFindFirstFileA(
  [in]  HINTERNET           hConnect,
  [in]  LPCSTR              lpszLocator,
  [in]  LPCSTR              lpszSearchString,
  [out] LPGOPHER_FIND_DATAA lpFindData,
  [in]  DWORD               dwFlags,
  [in]  DWORD_PTR           dwContext
);

参数

[in] hConnect

InternetConnect 返回的 Gopher 会话的句柄。

[in] lpszLocator

指向以 null 结尾的字符串的指针,该字符串包含要查找的项的名称。 可以是以下位置之一:

  • 由以前调用此函数或 InternetFindNextFile 函数返回的 Gopher 定位符。
  • NULL 指针或空字符串,指示返回来自 Gopher 服务器的最顶层信息。
  • 由 GopherCreateLocator 函数创建的定位符。

[in] lpszSearchString

指向缓冲区的指针,该缓冲区包含要搜索的字符串(如果此请求是指向索引服务器)。 否则,此参数应为 NULL

[out] lpFindData

指向 GOPHER_FIND_DATA 结构的指针,该结构接收此函数检索到的信息。

[in] dwFlags

控制函数行为。 此参数可以是以下值的组合。

含义
INTERNET_FLAG_HYPERLINK
在确定是否从网络重新加载项目时,如果没有“过期时间”且服务器未返回 LastModified 时间,则强制重新加载。
INTERNET_FLAG_NEED_FILE
如果无法缓存文件,则会导致创建临时文件。
INTERNET_FLAG_NO_CACHE_WRITE
不将返回的实体添加到缓存。
INTERNET_FLAG_RELOAD
强制从源服务器下载请求的文件、对象或目录列表,而不是从缓存下载。
INTERNET_FLAG_RESYNCHRONIZE
如果资源自上次下载以来已修改,则重新加载 HTTP 资源。 将重新加载所有 FTP 和 Gopher 资源。

[in] dwContext

指向变量的指针,该变量包含将此搜索与任何应用程序数据关联的应用程序定义值。

返回值

如果成功,则返回有效的搜索句柄,否则返回 NULL 。 若要检索扩展的错误信息,请调用 GetLastErrorInternetGetLastResponseInfo

注解

GopherFindFirstFileFindFirstFile 函数非常相似。 它创建与 Gopher 服务器的连接,然后返回一个结构,其中包含定位符字符串引用的第一个 Gopher 对象的相关信息。

调用 GopherFindFirstFile 以检索枚举中的第一个 Gopher 对象后,应用程序可以使用 InternetFindNextFile 函数检索后续 Gopher 对象。

调用应用程序使用 GopherFindFirstFile 返回的 HINTERNET 句柄后,必须使用 InternetCloseHandle 函数将其关闭。

与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。

注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP)
 

注意

wininet.h 标头将 GopherFindFirstFile 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wininet.h
Library Wininet.lib
DLL Wininet.dll

另请参阅

WinINet 函数