WNetEnumResource功能继续由WNetOpenEnum功能启动的网络资源枚举。
DWORD WNetEnumResource(
HANDLE 【henu】, | //处理枚举 |
LPDWORD 【lpcCount】, | //指向要列出的条目的指针 |
LPVOID 【lpBuffer】, | //指针缓冲区的结果 |
LPDWORD 【lpBufferSize】 | //指向缓冲区大小变量的指针 |
); |
参数
【henu】
标识枚举实例。此句柄必须由WNetOpenEnum返回。
【lpcCount】
指向指定所请求条目数的变量。如果请求的号码为0xFFFFFFFF,则该函数返回尽可能多的条目。
当功能成功完成时,此参数指向的变量包含实际读取的条目数。
【lpBuffer】
指向接收枚举结果的缓冲区,它们作为NETRESOURCE结构的数组返回。使用【henu】参数给出的句柄进行下一次调用前,缓冲区才有效。数组中的NETRESOURCE结构的顺序是不可预测的。
【lpBufferSize】
指向一个变量,指定【lpBuffer】参数的大小(以字节为单位)。如果缓冲区太小而不能接收一个条目,则该参数将接收所需的缓冲区大小。
返回值
如果函数成功,则返回值为以下值之一:
值 | 含义 |
NO_ERROR | 枚举成功,缓冲区包含请求的数据。呼叫应用程序可以继续调用WNetEnumResource来完成枚举。 |
ERROR_NO_MORE_ITEMS | 没有更多的条目。缓冲区内容未定义。 |
如果函数失败,则返回值是错误代码。要获取扩展错误信息,请调用GetLastError.GetLastError可能会返回以下错误代码之一:
值 | 含义 |
ERROR_MORE_DATA | 更多条目可用于后续呼叫。 |
ERROR_INVALID_HANDLE | 【henu】参数给出的句柄无效。 |
ERROR_NO_NETWORK | 没有网络。在对【henu】进行有效性测试之前测试此条件。 |
ERROR_EXTENDED_ERROR | 发生网络特定错误。要获取错误的描述,请使用WNetGetLastError功能。 |
该函数返回与Windows 3.1版兼容的错误代码。为了与Win32 API兼容,该函数还会设置GetLastError返回的错误代码值。
备注
应用程序无法将【lpBuffer】参数设置为NULL,并从【lpBufferSize】参数检索所需的缓冲区大小。相反,应用程序应该分配一个合理大小的缓冲区__ 16千字节(K)是典型的__,并使用【lpBufferSize】的值进行错误检测。
也可以看看