(isso é um pouco de despejo cerebral)
De olhar para algumas versões da fonte netstat, parece que a informação que você está procurando está sendo consultada diretamente do kernel (/ proc / net / ...) não através de chamadas relacionadas ao socket que Equivalentes do Windows. Se você está realmente determinado a ter isso, eu vejo como ele está sendo recuperado no netstat e vejo o que você pode encontrar e que fornece algo equivalente.
Provavelmente, você deve analisar ndis.com (Especificação da interface do driver de rede) e PCAUSA.com para informações em nível de driver, porque é provável que seja o melhor local para recuperar essas informações no Windows.
Eu não acredito que getsockopt () ou a maior parte da arena Winsock vá te levar a qualquer lugar útil, mas se você quiser ir nessa direção, veja as informações do MSDN Winsock e confira FAQ do programador do Winsock .
Para entrada, você pode conseguir algo útil da função ioctlsocket () com FIONREAD para obter a quantidade de dados legíveis para um socket; talvez você não consiga fazer isso nos processos e, dependendo do tipo de dados, só possa retornar informações para o primeiro bloco de dados, não para a fila inteira, se houver mais de um item na fila.
Você pode fazer algumas pesquisas sobre o "backlog" nesse contexto, mas a maior parte do que vi pareceu estar relacionada ao ajuste do tamanho máximo para lidar com inundações de SYN, não ao ver o tamanho real do atraso.
Se você estiver realmente determinado, poderá fazer algo com seu próprio Provedor de serviços em camadas , mas isso um caminho estranho e feio cheio de perigos e eu vou sugerir ficar longe disso.
UPDATE: Depois de bisbilhotar um pouco mais, eu definitivamente acho que você deve olhar para a consulta de OIDs NDIS. Encontrar as informações mais relevantes para você é um exercício entre você, MSDN e TechNet.