Win32::MprApi - Perl wrapper for Win32 Router Configuration functions.
use Win32::MprApi; $ret = Win32::MprApi::MprConfigServerConnect(\$ServerName, \$hMprConfig); $ret = Win32::MprApi::MprConfigGetGuidName($hMprConfig, \$FriendlyName, \$GUIDName); $ret = Win32::MprApi::MprConfigGetFriendlyName($hMprConfig, \$GUIDName, \$FriendlyName); $ret = Win32::MprApi::MprConfigServerDisconnect($hMprConfig);
Interface to Win32 IP Router Configuration useful functions, needed to translate a Friendly Name (like "Local Area Connection") into a GUID (like "{88CE272F-847A-40CF-BFBA-001D9AD97450}") and vice-versa.
This module covers only a small subset of the functions and data structures provided by the Win32 Router Configuration API.
The API is supported on platforms where MprApi.dll is available:
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows .NET Server 2003 family
The complete SDK Reference documentation is available online through Microsoft MSDN Library (http://msdn.microsoft.com/library/default.asp)
None by default.
The MprConfigServerConnect function connects to the Windows 2000 router to be configured. Call this function before making any other calls to the server. The handle returned by this function is used in subsequent calls to configure interfaces and transports on the server.
Example
use Win32::MprApi; my $ServerName; # if no name is defined, local server is used instead my $hMprConfig; # receives the handle to connected server # Connect to the server router $ret = Win32::MprApi::MprConfigServerConnect(\$ServerName, \$hMprConfig); if($ret == 0) { printf "MprConfigServerConnect() Server connected successfuly, handle is %u\n", $hMprConfig; # Disconnect from the server router Win32::MprApi::MprConfigServerDisconnect($hMprConfig); } else { printf "MprConfigServerConnect() error %u: %s\n", $ret, Win32::FormatMessage($ret); }
Return Values
If the function succeeds, the return value is 0.
If the function fails, the error code can be decoded with Win32::FormatMessage($ret).
Requirements
Server: Included in Windows .NET Server 2003, Windows 2000 Server. Header: Declared in Mprapi.h. Library: Use Mprapi.dll.
The MprConfigGetGuidName function returns the GUID name for an interface that corresponds to the specified friendly name.
use Win32::MprApi; my $ServerName; # if no name is defined, local server is used instead my $hMprConfig; # receives the handle to connected server my $FriendlyName = 'Local Area Connection'; my $GUIDName; # buffer for the translated GUID Name # Connect to the server router $ret = Win32::MprApi::MprConfigServerConnect(\$ServerName, \$hMprConfig); if($ret == 0) { $ret = Win32::MprApi::MprConfigGetGuidName($hMprConfig, \$FriendlyName, \$GUIDName); if($ret == 0) { printf "The GUID Name for connection %s is: %s\n", $FriendlyName, $GUIDName; } else { printf "MprConfigGetGuidName() error %u: %s\n", $ret, Win32::FormatMessage($ret); } # Disconnect from the server router Win32::MprApi::MprConfigServerDisconnect($hMprConfig); } else { printf "MprConfigServerConnect() error %u: %s\n", $ret, Win32::FormatMessage($ret); }
The MprConfigGetFriendlyName function returns the Friendly Name for an interface that corresponds to the specified GUID name.
use Win32::MprApi; my $ServerName; # if no name is defined, local server is used instead my $hMprConfig; # receives the handle to connected server my $GUIDName = '{88CE272F-847A-40CF-BFBA-001D9AD97450}'; my $FriendlyName; # buffer for the translated Friendly Name # Connect to the server router $ret = Win32::MprApi::MprConfigServerConnect(\$ServerName, \$hMprConfig); if($ret == 0) { $ret = Win32::MprApi::MprConfigGetFriendlyName($hMprConfig, \$GUIDName, \$FriendlyName); if($ret == 0) { printf "The Friendly Name for GUID %s is: %s\n", $GUIDName, $FriendlyName; } else { printf "MprConfigGetFriendlyName() error %u: %s\n", $ret, Win32::FormatMessage($ret); } # Disconnect from the server router Win32::MprApi::MprConfigServerDisconnect($hMprConfig); } else { printf "MprConfigServerConnect() error %u: %s\n", $ret, Win32::FormatMessage($ret); }
The MprConfigServerDisconnect function disconnects a connection made by a previous call to MprConfigServerConnect.
See previous examples
This function has no return values.
Thanks to Aldo Calpini for the powerful Win32::API module that makes this thing work.
Luigino Masarati, <lmasarati@hotmail.com>
To install Win32::MprApi, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Win32::MprApi
CPAN shell
perl -MCPAN -e shell install Win32::MprApi
For more information on module installation, please visit the detailed CPAN module installation guide.