_NewEnum Property of the IFPCUserAgentMappings Interface

The _NewEnum property gets an enumerator object for the collection. An enumerator object provides serial access to the elements of the collection.


HRESULT get__NewEnum(
    IUnknown* ppEnum


  • ppEnum
    Address of an interface pointer that on return points to the IUnknown interface of an enumerator object that implements an IEnumVARIANT interface for the collection. An interface pointer to the IEnumVARIANT interface of the enumerator object can be retrieved by calling QueryInterface on the IUnknown interface returned.

Return Value

This property method returns S_OK if the call is successful; otherwise, it returns an error code.

Visual Basic

Property _NewEnum As IUnknown

Property Value

Reference to an enumerator object that provides serial access to the elements of the collection.

Example Code

This VBScript script retrieves the collection of User-Agent mappings defined in a Forefront TMG array and displays the User-Agent header, the type of authentication specified, and an indication of whether the mapping is enabled for each User-Agent mapping in the collection.

Const fpcFbaHTML4 = 0
Const fpcFbaCHTML = 1
Const fpcFbaXHTML_MP = 2
Const fpcFbaHTTPBASIC = 3
' Create the root obect.
Dim root  ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
' Declare the other objects needed.
Dim isaArray   ' An FPCArray object
Dim mappings   ' An FPCUserAgentMappings collection
Dim mapping    ' An FPCUserAgentMapping object
Dim authType   ' A String
Dim colSpace1  ' A String
Dim colSpace2  ' A String
Dim isEnabled  ' A String
' Get references to the array object and
' the User-Agent mappings collection.
Set isaArray = root.GetContainingArray()
Set mappings = isaArray.RuleElements.UserAgentMappings
' Display the User-Agent mappings defined in the array.
If mappings.Count > 0 Then
    WScript.Echo "No." & vbTab  & "User-Agent headers" _
                 & vbTab & "Authentication type" _
                 & vbTab & "Enabled/disabled" & vbCrLf
    For Each mapping In mappings
        Select Case mapping.FBAFormsType
            Case fpcFbaHTML4 
                authType = "HTML 4.01 forms" 
            Case fpcFbaCHTML 
                authType = "cHTML forms" 
            Case fpcFbaXHTML_MP 
                authType = "XHTML-MP forms" 
            Case fpcFbaHTTPBASIC 
                authType = "Basic authentication" 
        End Select
        If Len(mapping.UserAgent) < 8 Then
            colSpace1 = vbTab & VbTab & vbTab
            colSpace1 = vbTab & vbTab
        End If
        If authType = "Basic authentication" Then
            colSpace2 = vbTab
            colSpace2 = vbTab & vbTab
        End If
        If mapping.Enabled = True Then
            isEnabled = "Enabled"
            isEnabled = "Disabled"
        End If
        WScript.Echo mapping.order & vbTab & mapping.UserAgent _
                     & colSpace1 & authType & colSpace2 & isEnabled
    WScript.Echo "No User-Agent mappings are defined."
End If


This property is read-only.

In Visual Basic and VBScript, this property is used implicitly in For Each...In...Next constructs.


Client Requires Windows 7 or Windows Vista.
Server Requires Windows Server 2008 R2 or Windows Server 2008 x64 Edition with SP2.
Version Requires Forefront Threat Management Gateway (TMG) 2010.

Declared in Msfpccom.idl.


Requires Msfpccom.dll.

See Also


Send comments about this topic to Microsoft

Build date: 6/30/2010