Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Advanced
Sep 22, 2003

GetComPlusAppRoleMembers - Retrieving a COM+ Application role's members

' Get an array with the members of an application's role
' Note: requires a reference to the COM+ Admin Type Library
'
' Example:
'    Dim members() As String = GetComPlusAppRoleMembers("System Application",
'  "Administrator", "")
'    Dim member As String
'    For Each member In  members
'       Console.WriteLine(member)
'    Next

Function GetComPlusAppRoleMembers(ByVal applicationName As String, _
    ByVal roleName As String, ByVal serverName As String) As String()
    Dim catalog As New COMAdmin.COMAdminCatalog
    catalog.Connect(serverName)
    ' get the Applications collection
    Dim apps As COMAdmin.COMAdminCatalogCollection = CType _
        (catalog.GetCollection("Applications"), _
        COMAdmin.COMAdminCatalogCollection)
    apps.Populate()
    Dim AppObj As COMAdmin.COMAdminCatalogObject
    For Each AppObj In apps
        If applicationName = AppObj.Name.ToString() Then
            Dim roles As COMAdmin.COMAdminCatalogCollection = CType _
                (apps.GetCollection("Roles", AppObj.Key), _
                COMAdmin.COMAdminCatalogCollection)
            roles.Populate()
            Dim RoleObj As COMAdmin.COMAdminCatalogObject
            For Each RoleObj In roles
                If roleName = RoleObj.Name.ToString() Then
                    Dim members As COMAdmin.COMAdminCatalogCollection = CType _
                        (roles.GetCollection("UsersInRole", RoleObj.Key), _
                        COMAdmin.COMAdminCatalogCollection)
                    members.Populate()
                    ' add each member name to an ArrayList
                    Dim memberNames(members.Count) As String
                    Dim i As Integer
                    For i = 0 To members.Count - 1
                        memberNames(i) = CType(members.Item(i), _
                            COMAdmin.COMAdminCatalogObject).Name.ToString()
                    Next i
                    Return memberNames
                End If
            Next RoleObj
        End If ' convert from the ArrayList to an array of strings,
               '  and return it
    Next AppObj

    Dim res(-1) As String
    Return res
End Function
Robert N. Neuman
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap