WNetEnumResource

The WNetEnumResource function continues a network-resource enumeration started by the WNetOpenEnum function.

DWORD WNetEnumResource(
  HANDLE hEnum,          // handle to enumeration
  LPDWORD lpcCount,      // pointer to entries to list
  LPVOID lpBuffer,       // pointer to buffer for results
  LPDWORD lpBufferSize   // pointer to buffer size variable
);
 

Parameters

hEnum
Identifies an enumeration instance. This handle must be returned by WNetOpenEnum.
lpcCount
Points to a variable specifying the number of entries requested. If the number requested is 0xFFFFFFFF, the function returns as many entries as possible.

When the function finishes successfully, the variable pointed to by this parameter contains the number of entries actually read.

lpBuffer
Points to the buffer that receives the enumeration results, which are returned as an array of NETRESOURCE structures. The buffer is valid until the next call using the handle given by the hEnum parameter. The order of NETRESOURCE structures in the array is not predictable.
lpBufferSize
Points to a variable that specifies the size, in bytes, of the lpBuffer parameter. If the buffer is too small to receive even one entry, this parameter receives the required size of the buffer.

Return Values

If the function succeeds, the return value is one of the following values:

Value Meaning
NO_ERROR The enumeration succeeded, and the buffer contains the requested data. The calling application can continue to call WNetEnumResource to complete the enumeration.
ERROR_NO_MORE_ITEMS There are no more entries. The buffer contents are undefined.

If the function fails, the return value is an error code. To get extended error information, call GetLastError. GetLastError may return one of the following error codes:

Value Meaning
ERROR_MORE_DATA More entries are available with subsequent calls.
ERROR_INVALID_HANDLE The handle given by the hEnum parameter is not valid.
ERROR_NO_NETWORK No network is present. This condition is tested before hEnum is tested for validity.
ERROR_EXTENDED_ERROR A network-specific error occurred. To get a description of the error, use the WNetGetLastError function.

The function returns error codes for compatibility with Windows version 3.1. For compatibility with the Win32 API, the function also sets the error code value returned by GetLastError.

Remarks

The WNetEnumResource function does not enumerate users connected to a share; use the NetConnectionEnum function. Also, to enumerate hidden shares, use the NetShareEnum function.

An application cannot set the lpBuffer parameter to NULL and retrieve the required buffer size from the lpBufferSize parameter. Instead, the application should allocate a buffer of a reasonable size — 16 kilobytes (K) is typical — and use the value of lpBufferSize for error detection.

Windows CE: The WNetEnumResource function is called by the network browser application to create lists of available resources on the network

Connections are not automatically stored when the user logs in under Windows CE.

QuickInfo

  Windows NT: Use version 3.1 or later.
  Windows: Use Windows 95 or later.
  Windows CE: Use version 2.0 or later.
  Header: Declared in winnetwk.h.
  Import Library: Use mpr.lib.

See Also

Windows Networking (WNet) Overview, Windows Networking Functions, NETRESOURCE, WNetCloseEnum, WNetGetLastError, WNetOpenEnum