Enumerating Network ConnectionsLast reviewed: September 29, 1995Article ID: Q119216 |
The information in this article applies to:
SUMMARYFrom the MS-DOS prompt, you can enumerate the network connections (drives) by using the following command:
net useProgrammatically, you would call WNetOpenEnum() to start the enumeration of connected resources and WNetEnumResources() to continue the enumeration.
MORE INFORMATIONThe following sample code enumerates the network connections:
Sample Code
#include <windows.h> #include <stdio.h> void main() { DWORD dwResult; HANDLE hEnum; DWORD cbBuffer = 16384; DWORD cEntries = 0xFFFFFFFF; LPNETRESOURCE lpnrDrv; DWORD i; dwResult = WNetOpenEnum( RESOURCE_CONNECTED, RESOURCETYPE_ANY, 0, NULL, &hEnum ); if (dwResult != NO_ERROR) { printf( "\nCannot enumerate network drives.\n" ); return; } printf( "\nNetwork drives:\n\n" ); do { lpnrDrv = (LPNETRESOURCE) GlobalAlloc( GPTR, cbBuffer ); dwResult = WNetEnumResource( hEnum, &cEntries, lpnrDrv, &cbBuffer ); if (dwResult == NO_ERROR) { for( i = 0; i < cEntries; i++ ) { if( lpnrDrv[i].lpLocalName != NULL ) { printf( "%s\t%s\n", lpnrDrv[i].lpLocalName, lpnrDrv[i].lpRemoteName ); } } } else if( dwResult != ERROR_NO_MORE_ITEMS ) { printf( "Cannot complete network drive enumeration" ); GlobalFree( (HGLOBAL) lpnrDrv ); break; } GlobalFree( (HGLOBAL) lpnrDrv ); } while( dwResult != ERROR_NO_MORE_ITEMS ); WNetCloseEnum(hEnum); } |
Additional reference words: 3.10 3.50 4.00 95
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |