Win32::MprApi - Perl wrapper for Win32 Router Configuration functions.


Win32-MprApi documentation  | view source Contained in the Win32-MprApi distribution.

Index


NAME

Top

Win32::MprApi - Perl wrapper for Win32 Router Configuration functions.

SYNOPSIS

Top

 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);

DESCRIPTION

Top

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)

EXPORT

None by default.

FUNCTIONS

Top

MprConfigServerConnect(\$ServerName, \$hMprConfig)

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.

MprConfigGetGuidName($hMprConfig, \$FriendlyName, \$GUIDName)

The MprConfigGetGuidName function returns the GUID name for an interface that corresponds to the specified friendly name.

Example

  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);
  }

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.

MprConfigGetFriendlyName($hMprConfig, \$GUIDName, \$FriendlyName)

The MprConfigGetFriendlyName function returns the Friendly Name for an interface that corresponds to the specified GUID name.

Example

  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);
  }

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.

MprConfigServerDisconnect( $hMprConfig )

The MprConfigServerDisconnect function disconnects a connection made by a previous call to MprConfigServerConnect.

Example

See previous examples

Return Values

This function has no return values.

Requirements

Server: Included in Windows .NET Server 2003, Windows 2000 Server. Header: Declared in Mprapi.h. Library: Use Mprapi.dll.

CREDITS

Top

Thanks to Aldo Calpini for the powerful Win32::API module that makes this thing work.

AUTHOR

Top

Luigino Masarati, <lmasarati@hotmail.com>


Win32-MprApi documentation  | view source Contained in the Win32-MprApi distribution.