IFPCRefs::_NewEnum property

Applies to: desktop apps only

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

This property is read-only.


HRESULT get__NewEnum(
  IUnknown *ppEnum
' Data type: IUnknown

Property _NewEnum( _
  ByVal ppEnum As IUnknown _
) As IUnknown

Property value

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

Error codes

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


This property is read-only.

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


This VBScript subprocedure retrieves the FPCPolicyRule object representing a specified access rule that is defined in the containing Forefront TMG array. If the access rule applies only to certain protocols or to all IP traffic except certain protocols, the subprocedure retrieves the FPCRefs collection accessed through the SpecifiedProtocols property for the access rule and implicitly uses the _NewEnum property to iterate through the collection display the name of each protocol to which the rule applies or each protocol that is excluded from the access rule. It does not include complete error handling.

Sub IterateSpecifiedProtocols(ruleName)
    ' Define the constants needed.
    Const fpcPolicyRuleAccess = 0
    Const fpcAllIpTraffic = 0
    Const fpcSpecifiedProtocols = 1
    ' Create the root object.
    Set root = CreateObject("FPC.Root")
    ' Declare the other objects needed.
    Dim isaArray       ' An FPCArray object
    Dim rule           ' An FPCPolicyRule object
    Dim references     ' An FPCRefs collection
    Dim reference      ' An FPCRef object
    ' Get references to the array object and the
    ' specified access rule.
    Set isaArray = root.GetContainingArray()
    Set rule = isaArray.ArrayPolicy.PolicyRules.Item(ruleName)
    If rule.Type <> fpcPolicyRuleAccess Then
        WScript.Echo "The " & ruleName & " policy rule is not an access rule."
    End If
    ' Inform the user that the rule applies to all protocols or get
    ' a reference to the collection of references to the specified protocols.
    If rule.AccessProperties.ProtocolSelectionMethod = fpcAllIpTraffic Then
        WScript.Echo "The " & ruleName & " access rule applies to all protocols."
        Set references = rule.AccessProperties.SpecifiedProtocols
        ' Display the names of the protocols to which the rule applies
        ' or the protocols that are excluded from the rule.
        If rule.AccessProperties.ProtocolSelectionMethod = fpcSpecifiedProtocols Then
            WScript.Echo "The " & ruleName & " access rule applies to the following protocols:"
            For Each reference In references
                WScript.Echo "    " & reference.Name 
            WScript.Echo "The following protocols are excluded from the " & ruleName & " access rule:"
            For Each reference In references
                WScript.Echo "    " & reference.Name 
        End If
    End If
End Sub


Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008 R2, Windows Server 2008 with SP2 (64-bit only)


Forefront Threat Management Gateway (TMG) 2010





See also




Build date: 7/12/2010