[Visual Basic]
' This sample demonstrates the IsSubsetOf, Union, Intersect, Copy, ToXml,
' FromXml
' GetPathList, AddPathList, and SetPathList methods
' of the RegistryPermission class.
Imports System
Imports System.Security
Imports System.Security.Permissions
Imports System.Collections
Imports Microsoft.VisualBasic
<Assembly: CLSCompliant(True)>
Public Class RegAPIDemo
' IsSubsetOf determines whether the current permission is a subset of the
' specified permission.
Private Function IsSubsetOfDemo() As Boolean
Dim returnValue As Boolean = True
Dim reg1, reg2 As String
Dim regPerm1, regPerm2 As RegistryPermission
Dim regGen1 As New RegGenerator()
Dim regGen2 As New RegGenerator()
regGen1.ResetIndex()
While regGen1.CreateReg(regPerm1, reg1, RegistryPermissionAccess.Read)
If regPerm1 Is Nothing Then
GoTo ContinueWhile1
End If
regGen2.ResetIndex()
Console.WriteLine( _
"**********************************************************" & _
ControlChars.Lf)
While regGen2.CreateReg(regPerm2, reg2, _
RegistryPermissionAccess.AllAccess)
Dim firstPermission As String = IIf(reg1 = "" Or reg1 Is _
Nothing, "null", reg1)
Dim secondPermission As String = IIf(reg2 = "" Or reg2 Is _
Nothing, "null", reg2)
If regPerm2 Is Nothing Then
GoTo ContinueWhile2
End If
Try
If regPerm1.IsSubsetOf(regPerm2) Then
Console.WriteLine((firstPermission & ControlChars.Lf & _
" is a subset of " & secondPermission & _
ControlChars.Lf))
Else
Console.WriteLine((firstPermission & ControlChars.Lf & _
" is not a subset of " & secondPermission & _
ControlChars.Lf))
End If
Catch e As Exception
Console.WriteLine(IIf("An exception was thrown for subset" & _
":" & reg1 = "", "null", _
IIf(reg1 & ControlChars.Lf & reg2 = "", "null", reg2 & _
ControlChars.Lf & e.ToString())))
End Try
ContinueWhile2:
End While
ContinueWhile1:
End While
Return returnValue
End Function 'IsSubsetOfDemo
' Union creates a new permission that is the union of the current
' permission and
' the specified permission.
Private Function UnionDemo() As Boolean
Dim returnValue As Boolean = True
Dim reg1, reg2 As String
Dim regPerm1, regPerm2 As RegistryPermission
Dim regIdPerm3 As IPermission
Dim regGen1 As New regGenerator()
Dim regGen2 As New regGenerator()
regGen1.ResetIndex()
While regGen1.CreateReg(regPerm1, reg1, RegistryPermissionAccess.Read)
If reg1 Is Nothing Then
GoTo ContinueWhile1
End If
Console.WriteLine( _
"**********************************************************" & _
ControlChars.Lf)
regGen2.ResetIndex()
While regGen2.CreateReg(regPerm2, reg2, _
RegistryPermissionAccess.Read)
Try
If regPerm2 Is Nothing Then
GoTo ContinueWhile2
End If
Dim firstPermission As String = IIf(reg1 = "" Or reg1 Is _
Nothing, "null", reg1)
Dim secondPermission As String = IIf(reg2 = "" Or reg2 Is _
Nothing, "null", reg2)
regIdPerm3 = CType(regPerm1.Union(regPerm2), _
RegistryPermission)
regIdPerm3 = regPerm1.Union(regPerm2)
If regIdPerm3 Is Nothing Then
Console.WriteLine(("The union of " & firstPermission & _
" and " & ControlChars.Lf & ControlChars.Tab & _
secondPermission & " is null."))
Else
Console.WriteLine(("The union of " & firstPermission & _
" and " & ControlChars.Lf & ControlChars.Tab & _
secondPermission & " = " & ControlChars.Lf & _
ControlChars.Tab & CType(regIdPerm3, _
RegistryPermission).GetPathList( _
RegistryPermissionAccess.Read).ToString()))
End If
Catch e As Exception
Console.WriteLine(("An exception was thrown for union :" & _
e.ToString()))
returnValue = False
End Try
ContinueWhile2:
End While
ContinueWhile1:
End While
Return returnValue
End Function 'UnionDemo Fortsetzung folgt...
MfG
Visual Studio .Net Team Suite 2008 - Meine neue lieblings IDE
.png) |