mirror of
https://github.com/reactos/reactos.git
synced 2025-05-08 11:24:14 +00:00
[IPHLPAPI] Implement AllocateAndGetTcpExTable2FromStack()
CORE-14391
This commit is contained in:
parent
291a58951f
commit
0bca12e01f
2 changed files with 47 additions and 1 deletions
|
@ -4,7 +4,7 @@
|
||||||
@ stdcall AllocateAndGetIpAddrTableFromStack( ptr long long long )
|
@ stdcall AllocateAndGetIpAddrTableFromStack( ptr long long long )
|
||||||
@ stdcall AllocateAndGetIpForwardTableFromStack( ptr long long long )
|
@ stdcall AllocateAndGetIpForwardTableFromStack( ptr long long long )
|
||||||
@ stdcall AllocateAndGetIpNetTableFromStack( ptr long long long )
|
@ stdcall AllocateAndGetIpNetTableFromStack( ptr long long long )
|
||||||
@ stub AllocateAndGetTcpExTable2FromStack
|
@ stdcall AllocateAndGetTcpExTable2FromStack( ptr long long long long long )
|
||||||
@ stdcall AllocateAndGetTcpExTableFromStack( ptr long long long long )
|
@ stdcall AllocateAndGetTcpExTableFromStack( ptr long long long long )
|
||||||
@ stdcall AllocateAndGetTcpTableFromStack( ptr long long long )
|
@ stdcall AllocateAndGetTcpTableFromStack( ptr long long long )
|
||||||
@ stub AllocateAndGetUdpExTable2FromStack
|
@ stub AllocateAndGetUdpExTable2FromStack
|
||||||
|
|
|
@ -349,6 +349,52 @@ DWORD WINAPI AllocateAndGetTcpExTableFromStack(PMIB_TCPTABLE_OWNER_PID *ppTcpTab
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************
|
||||||
|
* AllocateAndGetTcpExTable2FromStack (IPHLPAPI.@)
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* PARAMS
|
||||||
|
*
|
||||||
|
* ppTcpTable [Out]
|
||||||
|
* bOrder [In] -- passed to GetExtendedTcpTable to order the table
|
||||||
|
* heap [In] -- heap from which the table is allocated
|
||||||
|
* flags [In] -- flags to HeapAlloc
|
||||||
|
* family [In] -- passed to GetExtendedTcpTable to select INET family
|
||||||
|
* class [In] -- passed to GetExtendedTcpTable to select information
|
||||||
|
*
|
||||||
|
* RETURNS
|
||||||
|
*
|
||||||
|
* DWORD
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
DWORD WINAPI AllocateAndGetTcpExTable2FromStack(PVOID *ppTcpTable,
|
||||||
|
BOOL bOrder, HANDLE heap, DWORD flags, DWORD family, TCP_TABLE_CLASS class)
|
||||||
|
{
|
||||||
|
DWORD ret;
|
||||||
|
|
||||||
|
TRACE("ppTcpTable %p, bOrder %ld, heap 0x%08lx, flags 0x%08lx, family %ld, class %ld\n",
|
||||||
|
ppTcpTable, (DWORD)bOrder, (DWORD)heap, flags, family, class);
|
||||||
|
if (!ppTcpTable)
|
||||||
|
ret = ERROR_INVALID_PARAMETER;
|
||||||
|
else {
|
||||||
|
DWORD dwSize = 0;
|
||||||
|
|
||||||
|
*ppTcpTable = NULL;
|
||||||
|
ret = GetExtendedTcpTable(*ppTcpTable, &dwSize, bOrder, family, class, 0);
|
||||||
|
if (ret == ERROR_INSUFFICIENT_BUFFER) {
|
||||||
|
*ppTcpTable = HeapAlloc(heap, flags, dwSize);
|
||||||
|
ret = GetExtendedTcpTable(*ppTcpTable, &dwSize, bOrder, family, class, 0);
|
||||||
|
if (ret != NO_ERROR) {
|
||||||
|
HeapFree(heap, flags, *ppTcpTable);
|
||||||
|
*ppTcpTable = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TRACE("returning %ld\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
* AllocateAndGetUdpTableFromStack (IPHLPAPI.@)
|
* AllocateAndGetUdpTableFromStack (IPHLPAPI.@)
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue