Environment: CNetService was developed for Microsoft.
Windows NT. platforms using Microsoft. VisualC++ 6.0
The Microsoft. Win32. API provides Windows networking (WNet)
functions, providing networking capabilities for applications. The
WNet functions are network independent, enabling an application
to query and control network connections directly without knowledge of
the underlying network transports.
CNetService is a C++ class which wraps
methods around each of the WNet functions, providing an
object-oriented interface to these functions, grouping common variables
and structures in a single class object. This allows focusing on the
network project rather than the structures required by WNet.
The following WNet functions are used in CNetService:
-
WNetAddConnection3
WNetGetConnection
WNetCancelConnection2
WNetEnumResource
WNetCloseEnum
WNetOpenEnum
WNetGetNetworkInformation
WNetGetProviderName
WNetGetResourceInformation
WNetGetUniversalName
WNetGetUser
WNetGetLastError
The CNetService class can be extended
to provide access to specific keys and values, and to
enhace its capabilities. Refer to the Microsoft Platform
SDK: Windows Networking (WNet) documentation from the MSDN (support.microsoft.com).
CNetService contains the following methods,
fully documented in the download file:
Method | Function |
---|---|
Constructor | Initializes the class. |
AddConnection | Creates the specified network connection. |
CloseEnum | Ends a network resource enumeration. |
EnumerateNext | Continues an enumeration of network resources. |
EnumerateResource | Continues an enumeration of resources. |
Error | Value in GetLastError. |
ErrorMessage | Message associated with GetLastError. |
GetNetInfo | Get a pointer to NETINFOSTRUCT. |
GetNetStatus | Get the network status. |
GetNetType | Get the network type code. |
GetNetInfoPrinters | Bit vector of valid print devices. |
GetNetInfoDrives | Bit vector of valid disk devices. |
GetProviderName | Returns the network provider name. |
GetUNC | Retrieves the UNC representing a network share. |
NetConnect | Creates the specified network connection. |
NetDisconnect | Disconnect from the specified network connection. |
NetError | Value of WNetGetLastError. |
NetErrorMessage | Message associated with WNetGetLastError. |
NetErrorProvider | Name of provider returning WNetGetLastError. |
NetUser | Returns the connection owner name (account). |
NetworkInformation | Information about a specific network transport. |
OpenEnum | Starts an enumeration of network resources. |
OSVersion | Version of the operating system currently running. |
ResourceDisplayType |
ResourceDisplayType from NETRESOURCE structure. |
Result | Result of last operation. |
ServiceError | Value in ServiceError. |
ServiceErrorMessage | Message associated with ServiceError. |
UNCRemotePath | Return the remote share path (see GetUNC). |
UNCRemoteServer | Return the remote share name (see GetUNC). |
UniversalName | Return the complete share name (see GetUNC). |
Installing the Class
To use this class,
-
Copy CNetService.cpp and CNetService.h to the same directory as
your project or class libraries; - Include CNetService.cpp and CNetService.h in your project;
-
Add CNetService.h to any modules which make reference to
CNetService or one of its’ methods or variables.
This will normally take the form of-
#include "CNetService.h"
in the header files in which the CNetService object
is declared. -
Include mpr.lib in the linker. In VisualC++,
this is accomplished by adding mpr.lib to your
project settings dialog, link tab, object/library modules
entry.
Sample Application
A VisualC++ 6 workspace containing several sample projects is included
with the CNetService download:
- NetConnect
- A Windows console program which connects a local drive to
a network resource. - NetEnum
- A Windows console program which enumerates current network
resources to a console window. - WNetEnum
- A Windows dialog which enumerates current network resources in
a graphical manner.
WNetEnum
WNetEnum is a Microsoft. Windows NT. program to enumerate
current network resources in a graphical manner.
Features:
- Enumerates current network servers, workstations and resources.
- VisualC++ project and source code.
- Based on CNetService class.