GetIfStackTable function
The GetIfStackTable 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 [out]
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:
Return code | Description |
---|---|
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 computer 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 FreeMibTable.
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.
Requirements
Target platform |
Universal |
Version |
Available in Windows Vista and later versions of the Windows operating systems. |
Header |
Netioapi.h (include Netioapi.h) |
Library |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |