[TCPIP] Implement InfoTdiQueryGetATInfo

This implements a case for InfoTdiQueryInformationEx. It's based on wild guesses, but it helps to make Windows 2003 lsass not fail.
This commit is contained in:
Timo Kreuzer 2018-12-09 20:52:54 +01:00 committed by Pierre Schweitzer
parent 962b2fd66a
commit 1e28d4d92b
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -180,6 +180,38 @@ TDI_STATUS InfoTdiQueryListEntities(PNDIS_BUFFER Buffer,
return TDI_SUCCESS;
}
TDI_STATUS
InfoTdiQueryGetATInfo(
TDIEntityID ID,
PIP_INTERFACE Interface,
PNDIS_BUFFER Buffer,
PUINT BufferSize)
{
ULONG ATInfo[2];
TDI_STATUS Status;
TI_DbgPrint(DEBUG_INFO, ("Called.\n"));
if (!Interface)
return TDI_INVALID_PARAMETER;
if (*BufferSize < sizeof(ATInfo))
return STATUS_BUFFER_TOO_SMALL;
/* FIXME: I have no idea what the first field should contain... */
ATInfo[0] = 0;
ATInfo[1] = Interface->Index;
Status = InfoCopyOut((PCHAR)ATInfo,
sizeof(ATInfo),
Buffer,
BufferSize);
TI_DbgPrint(DEBUG_INFO, ("Returning %08x\n", Status));
return Status;
}
TDI_STATUS InfoTdiQueryInformationEx(
PTDI_REQUEST Request,
TDIObjectID *ID,
@ -256,6 +288,11 @@ TDI_STATUS InfoTdiQueryInformationEx(
return InfoTdiQueryGetIPSnmpInfo(ID->toi_entity, EntityListContext, Buffer, BufferSize);
else
return TDI_INVALID_PARAMETER;
else if (ID->toi_entity.tei_entity == AT_ENTITY)
if ((EntityListContext = GetContext(ID->toi_entity)))
return InfoTdiQueryGetATInfo(ID->toi_entity, EntityListContext, Buffer, BufferSize);
else
return TDI_INVALID_PARAMETER;
else
return TDI_INVALID_PARAMETER;