Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

291 lines
19 KiB

<HTML>
<!-- Copyright (c) Microsoft Corporation. All rights reserved.-->
<HEAD>
<TITLE>Static Ip Setting Page</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Option Explicit
'Windows constants for key codes
Public Const RightArrow = 39
Public Const LeftArrow = 37
Public Const EnterKey = 13
Public Const EscapeKey = 27
Public Const UpArrow = 38
Public Const DownArrow = 40
'Timer for idle timeout
Dim iIdleTimeOut
'Text for wait information
Dim strWaitText
'Flag for errors
Dim bInErrorMode
'Flag for accessing netcfg component
Dim bAccessDenied
'Ip address error text
Dim strIpAddressInvalidText
'General error text for the task
Dim strStaticIpErrorText
'----------------------------------------------------------------------------
' Function: Window_OnLoad
' Description: Initialization routine for the page
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: iIdleTimeOut,strWaitText,bInErrorMode,strIpAddressInvalidText
'----------------------------------------------------------------------------
Sub Window_OnLoad()
'Localization manager object
Dim objLocMgr
'Replacement strings
Dim varReplacementStrings
'Resource ID for wait information text
Const WAIT_TEXT = "&H40020012"
'Resource ID for Ip address error text
Const IPADDRESS_ERROR_TEXT = "&H4002000A"
'Resource ID for task error text
Const STATICIP_ERROR_TEXT = "&H40020007"
'SaHelper component object
Dim objSaHelper
'Current static ip address
Dim strStaticIP
'Current subnet mask
Dim strSubnetMask
'Current default gateway
Dim strDefaultGateway
On Error Resume Next
Err.Clear
bInErrorMode = false
bAccessDenied = false
'Create the localization manager
Set objLocMgr = CreateObject("ServerAppliance.LocalizationManager")
If Err.number = 0 Then
'Get the strings
strWaitText = objLocMgr.GetString("salocaluimsg.dll",WAIT_TEXT,varReplacementStrings)
strIpAddressInvalidText = objLocMgr.GetString("salocaluimsg.dll",IPADDRESS_ERROR_TEXT,varReplacementStrings)
strStaticIpErrorText = objLocMgr.GetString("salocaluimsg.dll",STATICIP_ERROR_TEXT,varReplacementStrings)
Set objLocMgr = Nothing
End If
Err.Clear
InformationText.innerText = strWaitText
'get the current configuration
Set objSaHelper = CreateObject("ServerAppliance.SAHelper")
If Err.number = 0 Then
strStaticIP = objSaHelper.IpAddress
If Err.number = 0 Then
StaticIpEntry.IpAddress = strStaticIP
End If
Err.Clear
strSubnetMask = objSaHelper.SubnetMask
If Err.number = 0 Then
StaticIpEntry.SubnetMask = strSubnetMask
End If
Err.Clear
strDefaultGateway = objSaHelper.DefaultGateway
If Err.number = 0 Then
StaticIpEntry.Gateway = strDefaultGateway
End If
Err.Clear
Set objSaHelper = Nothing
End If
StaticIpEntry.focus
'start the timer for idle timeout
iIdleTimeOut = window.SetTimeOut("IdleHandler()",300000)
On Error Resume Next
Err.Clear
'set the key codes for the page
Dim objKeypad
Set objKeypad = CreateObject("Ldm.SAKeypadController")
If Err.number = 0 Then
objKeypad.Setkey 0,UpArrow,TRUE
objKeypad.Setkey 1,DownArrow,FALSE
objKeypad.Setkey 2,LeftArrow,FALSE
objKeypad.Setkey 3,RightArrow,FALSE
objKeypad.Setkey 4,EscapeKey,FALSE
objKeypad.Setkey 5,EnterKey,FALSE
Set objKeypad = Nothing
End If
End Sub
'----------------------------------------------------------------------------
' Function: IdleHandler
' Description: Goes back to main page when timeout expires
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: None
'----------------------------------------------------------------------------
Sub IdleHandler()
window.history.go(-3)
End Sub
'----------------------------------------------------------------------------
' Function: StaticIpEntry_OperationCanceled
' Description: Handles escape key press for static ip entry control
' Goes back to network page
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: None
'----------------------------------------------------------------------------
Sub StaticIpEntry_OperationCanceled()
If bInErrorMode = false Then
window.history.go(-1)
Else
bInErrorMode = false
End If
End Sub
'----------------------------------------------------------------------------
' Function: StaticIpEntry_KeyPressed
' Description: Handles any key press for static ip entry control
' Resets the idle timeout timer
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: None
'----------------------------------------------------------------------------
Sub StaticIpEntry_KeyPressed()
window.clearTimeOut(iIdleTimeOut)
iIdleTimeOut = window.SetTimeOut("IdleHandler()",300000)
End Sub
'----------------------------------------------------------------------------
' Function: StaticIpEntry_StaticIpEntered
' Description: Handles enter key press for static ip entry control
' Sets the static ip and displays the result
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: None
'----------------------------------------------------------------------------
Sub StaticIpEntry_StaticIpEntered()
'SaHelper object pointer
Dim objSaHelper
On Error Resume Next
Err.Clear
If bInErrorMode = false and bAccessDenied = false Then
'Display the wait text
InformationText.style.display = ""
'Hide the data entry control
StaticIpEntry.style.display ="none"
Set objSaHelper = CreateObject("ServerAppliance.SAHelper")
'If object is successfully created
If Err.Number = 0 Then
objSaHelper.SetStaticIp StaticIpEntry.IpAddress, StaticIpEntry.SubnetMask, StaticIpEntry.Gateway
Set objSaHelper = Nothing
End If
'Ip address successfully set
If Err.Number = 0 Then
window.history.go(-1)
'Error accessing the netcfg component
ElseIf Err.Number = 70 Then
bAccessDenied = true
InformationText.innerText = strStaticIpErrorText
'Something failed, display error information
Else
InformationText.innerText = strIpAddressInvalidText
bInErrorMode = true
End If
ElseIf bAccessDenied = true Then
window.history.go(-1)
Else
bInErrorMode = false
End If
End Sub
'----------------------------------------------------------------------------
' Function: KeyDown
' Description: Handles key presses
' Input Variables: None
' Output Variables: None
' Return Values: None
' Global Variables: None
'----------------------------------------------------------------------------
Sub KeyDown()
'clear the timeout and restart it
window.clearTimeOut(iIdleTimeOut)
iIdleTimeOut = window.SetTimeOut("IdleHandler()",300000)
'If escape key is hit, go back to tasks page
If window.event.keycode = EscapeKey or window.event.keycode = EnterKey Then
StaticIpEntry.style.display = ""
StaticIpEntry.focus
InformationText.style.display = "none"
InformationText.innerText = strWaitText
End If
End Sub
-->
</SCRIPT>
</HEAD>
<BODY RIGHTMARGIN=0 LEFTMARGIN=0 OnKeydown="KeyDown">
<OBJECT STYLE="position:absolute; top:0; left=0; WIDTH=128; HEIGHT=64;"
ID="StaticIpEntry" CLASSID="CLSID:D8A69FA0-25FE-4B9C-BBCE-81D6EBE2FDC0">
</OBJECT>
<A ID="InformationText"
STYLE="position:absolute; top:0; left:0; font-size:10; font-family=arial; display=none;" >
</A>
</BODY>
</HTML>