//
// Verify a server on the network.
//
DWORD
CheckServer(
LPTSTR pszServer
)
{
DWORD dwBufferSize = sizeof(NETRESOURCE);
LPBYTE lpBuffer; // buffer
NETRESOURCE nr;
LPTSTR pszSystem = NULL; // variable-length strings
DWORD dwValue;
//
// Fill a block of memory with zeroes; then initialize
// the NETRESOURCE structure.
//
ZeroMemory(nr, sizeof(nr));
nr.dwScope = RESOURCE_GLOBALNET;
nr.dwType = RESOURCETYPE_ANY;
nr.lpRemoteName = pszServer;
//
// First call the WNetGetResourceInformation function with
// memory allocated to hold only a NETRESOURCE structure. This
// method can succeed if all the NETRESOURCE pointers are NULL.
// If the call fails because the buffer is too small, allocate
// a larger buffer.
//
lpBuffer = (LPBYTE) malloc( dwBufferSize );
if (lpBuffer == NULL)
return FALSE;
while ( WNetGetResourceInformation(&nr, lpBuffer, &dwBufferSize,
&pszSystem) == ERROR_MORE_DATA)
{
lpBuffer = (LPBYTE) realloc(lpBuffer, dwBufferSize);
}
// Process the contents of the NETRESOURCE structure and the
// variable-length strings in lpBuffer and set dwValue. When
// finished, free the memory.
free(lpBuffer);
return dwValue;
}
WNetGetResourceInformation
WNetGetResourceInformation - сетевая функция, позволяющая получить информацию о машине в сети по имени. Ниже пример ее использования из MSDN. Для меня загадка, что содержит dwValue, возвращаемая в примере. Как можно получить, например, комментарий о компе?