GetIfStackTable (NETIOAPI) (Compact 7)
3/12/2014
This function retrieves a table of network interface stack row entries that specify the relationship of the network interfaces on an interface stack.
Syntax
NETIOAPI_API
GetIfStackTable(
OUT PMIB_IFSTACK_TABLE* Table
);
Parameters
- Table
A pointer to a buffer that receives the table of interface stack row entries in a MIB_IFSTACK_TABLE structure.
Return Value
GetIfStackTable returns STATUS_SUCCESS if the function succeeds.
If the function fails, GetIfStackTable returns one of the following error codes:
Error Code | Meaning |
---|---|
STATUS_INVALID_PARAMETER |
An invalid parameter was passed to the function. This error is returned if a NULL pointer is passed in the Table parameter. |
STATUS_NOT_ENOUGH_MEMORY |
Insufficient memory resources are available to complete the operation. |
STATUS_NOT_FOUND |
No interface stack entries were found. |
Other |
Use the FormatMessage function to obtain the message string for the returned error. |
Remarks
The GetIfStackTable function enumerates the physical and logical network interfaces on an interface stack on a local device and returns this information in a MIB_IFSTACK_TABLE structure.
Interface stack entries are returned in a MIB_IFSTACK_TABLE structure in the buffer that the Table parameter points to. The MIB_IFSTACK_TABLE structure contains an interface stack entry count and an array of MIB_IFSTACK_ROW structures for each interface stack entry.
The relationship between the interfaces in the interface stack is that the interface with index in the HigherLayerInterfaceIndex member of the MIB_IFSTACK_ROW structure is immediately above the interface with index in the LowerLayerInterfaceIndex member of the MIB_IFSTACK_ROW structure.
Memory is allocated by the GetIfStackTable function for the MIB_IFSTACK_TABLE structure and the MIB_IFSTACK_ROW entries in this structure. When these returned structures are no longer required, your driver should free the memory by calling the FreeMibTable (NETIOAPI).
Note that the returned MIB_IFSTACK_TABLE structure that the Table parameter points to might contain padding for alignment between the NumEntries member and the first MIB_IFSTACK_ROW array entry in the Table member of the MIB_IFSTACK_TABLE structure. Padding for alignment might also be present between the MIB_IFSTACK_ROW array entries. Any access to a MIB_IFSTACK_ROW array entry should assume padding may exist.
See Also
Reference
IP Helper Kernel-Mode Functions
FreeMibTable (NETIOAPI)
GetIfEntry2 (NETIOAPI)
GetIfTable2 (NETIOAPI)
GetInvertedIfStackTable (NETIOAPI)
GetIpInterfaceEntry (NETIOAPI)
InitializeIpInterfaceEntry (NETIOAPI)
MIB_IF_ROW2
MIB_IF_TABLE2
MIB_IFSTACK_ROW
MIB_IFSTACK_TABLE
MIB_INVERTEDIFSTACK_ROW
MIB_INVERTEDIFSTACK_TABLE
MIB_IPINTERFACE_ROW
NotifyIpInterfaceChange (NETIOAPI)
SetIpInterfaceEntry (NETIOAPI)