estrutura MIB_TCPROW_OWNER_MODULE (tcpmib.h)

A estrutura MIB_TCPROW_OWNER_MODULE contém informações que descrevem uma conexão TCP IPv4 com dados de propriedade, endereços IPv4, portas usadas pela conexão TCP e a ID de processo específica (PID) associada à conexão.

Sintaxe

typedef struct _MIB_TCPROW_OWNER_MODULE {
  DWORD         dwState;
  DWORD         dwLocalAddr;
  DWORD         dwLocalPort;
  DWORD         dwRemoteAddr;
  DWORD         dwRemotePort;
  DWORD         dwOwningPid;
  LARGE_INTEGER liCreateTimestamp;
  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_TCPROW_OWNER_MODULE, *PMIB_TCPROW_OWNER_MODULE;

Membros

dwState

Tipo: DWORD

dwState

Tipo: DWORD O estado da conexão TCP. Esse membro pode ser um dos valores definidos no arquivo de cabeçalho Iprtrmib.h .

No SDK do Windows lançado para o Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada. Esse membro pode ser um dos valores da enumeração MIB_TCP_STATE definida no arquivo de cabeçalho Tcpmib.h , não no arquivo de cabeçalho Iprtrmib.h . Observe que o arquivo de cabeçalho Tcpmib.h é incluído automaticamente em Iprtrmib.h, que é incluído automaticamente no arquivo de cabeçalho Iphlpapi.h . Os arquivos de cabeçalho Tcpmib.h e Iprtrmib.h nunca devem ser usados diretamente.

Valor Significado
MIB_TCP_STATE_CLOSED
1
A conexão TCP está no estado CLOSED que não representa nenhum estado de conexão.
MIB_TCP_STATE_LISTEN
2
A conexão TCP está no estado LISTEN aguardando uma solicitação de conexão de qualquer TCP remoto e porta.
MIB_TCP_STATE_SYN_SENT
3
A conexão TCP está no estado SYN-SENT aguardando uma solicitação de conexão correspondente depois de ter enviado uma solicitação de conexão (pacote SYN).
MIB_TCP_STATE_SYN_RCVD
4
A conexão TCP está no estado SYN-RECEIVED aguardando uma confirmação de solicitação de conexão após ter recebido e enviado uma solicitação de conexão (pacote SYN).
MIB_TCP_STATE_ESTAB
5
A conexão TCP está no estado ESTABLISHED que representa uma conexão aberta, os dados recebidos podem ser entregues ao usuário. Esse é o estado normal para a fase de transferência de dados da conexão TCP.
MIB_TCP_STATE_FIN_WAIT1
6
A conexão TCP é o estado FIN-WAIT-1 aguardando uma solicitação de encerramento de conexão do TCP remoto ou uma confirmação da solicitação de encerramento de conexão enviada anteriormente.
MIB_TCP_STATE_FIN_WAIT2
7
A conexão TCP é o estado FIN-WAIT-1 aguardando uma solicitação de encerramento de conexão do TCP remoto.
MIB_TCP_STATE_CLOSE_WAIT
8
A conexão TCP está no estado CLOSE-WAIT aguardando uma solicitação de encerramento de conexão do usuário local.
MIB_TCP_STATE_CLOSING
9
A conexão TCP está no estado CLOSING aguardando uma confirmação de solicitação de encerramento de conexão do TCP remoto.
MIB_TCP_STATE_LAST_ACK
10
A conexão TCP está no estado LAST-ACK aguardando uma confirmação da solicitação de encerramento de conexão enviada anteriormente para o TCP remoto (que inclui uma confirmação de sua solicitação de encerramento de conexão).
MIB_TCP_STATE_TIME_WAIT
11
A conexão TCP está no estado TIME-WAIT aguardando tempo suficiente para passar para ter certeza de que o TCP remoto recebeu a confirmação de sua solicitação de encerramento de conexão.
MIB_TCP_STATE_DELETE_TCB
12
A conexão TCP está no estado TCB de exclusão que representa a exclusão do TCB (Bloco de Controle de Transmissão), uma estrutura de dados usada para manter informações sobre cada entrada TCP.

dwLocalAddr

Tipo: DWORD

O endereço IPv4 local para a conexão TCP no computador local. Um valor zero indica que o ouvinte pode aceitar uma conexão em qualquer interface.

dwLocalPort

Tipo: DWORD

O número da porta local na ordem de bytes de rede para a conexão TCP no computador local.

dwRemoteAddr

Tipo: DWORD

O endereço IPv4 para a conexão TCP no computador remoto. Quando o membro dwState é MIB_TCP_STATE_LISTEN, esse valor não tem nenhum significado.

dwRemotePort

Tipo: DWORD

O número da porta remota na ordem de bytes de rede para a conexão TCP no computador remoto. Quando o membro dwState é MIB_TCP_STATE_LISTEN, esse membro não tem significado.

dwOwningPid

Tipo: DWORD

O PID do processo que emitiu uma associação de contexto para essa conexão TCP.

liCreateTimestamp

Tipo: LARGE_INTEGER

Uma estrutura FILETIME que indica quando ocorreu a operação de associação de contexto que criou esse link TCP.

OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]

Tipo: ULONGLONG[TCPIP_OWNING_MODULE_SIZE]

Uma matriz de dados opacos que contém informações de propriedade.

Comentários

A estrutura MIB_TCPROW_OWNER_MODULE é retornada por uma chamada para GetExtendedTcpTable com o parâmetro TableClass definido como TCP_TABLE_OWNER_MODULE_LISTENER, TCP_TABLE_OWNER_MODULE_CONNECTIONS ou TCP_TABLE_OWNER_MODULE_ALL da enumeração TCP_TABLE_CLASS e o parâmetro ulAf definido como AF_INET4.

O membro dwState indica o estado da entrada TCP em um diagrama de estado TCP. Uma conexão TCP progride por meio de uma série de estados durante seu tempo de vida. Os estados são: LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT e o estado fictício CLOSED. O estado CLOSED é fictício porque representa o estado quando não há nenhum Bloco de Controle de Transmissão e, portanto, nenhuma conexão. O protocolo TCP é descrito no RFC 793. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc793.txt.

Os membros dwLocalPort e dwRemotePort estão em ordem de byte de rede. Para usar os membros dwLocalPort ou dwRemotePort , as funções ntohs ou inet_ntoa no Windows Sockets ou funções semelhantes podem ser necessárias. Os membros dwLocalAddr e dwRemoteAddr são armazenados como um DWORD no mesmo formato que a estrutura in_addr . Para usar os membros dwLocalAddr ou dwRemoteAddr , as funções ntohl ou inet_ntoa no Windows Sockets ou funções semelhantes podem ser necessárias. No Windows Vista e posteriores, as funções RtlIpv4AddressToString ou RtlIpv4AddressToStringEx podem ser usadas para converter o endereço IPv4 nos membros dwLocalAddr ou dwRemoteAddr em uma cadeia de caracteres sem carregar a DLL do Windows Sockets.

No SDK do Windows lançado para o Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada. Essa estrutura é definida no arquivo de cabeçalho Tcpmib.h , não no arquivo de cabeçalho Iprtrmib.h . Observe que o arquivo de cabeçalho Tcpmib.h é incluído automaticamente em Iprtrmib.h, que é incluído automaticamente no arquivo de cabeçalho Iphlpapi.h . Os arquivos de cabeçalho Tcpmib.h e Iprtrmib.h nunca devem ser usados diretamente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008, Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Cabeçalho tcpmib.h (inclua Iphlpapi.h)

Confira também

GetExtendedTcpTable

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

SYSTEMTIME

TCP_TABLE_CLASS

End_inet

inet_ntoa

ntohl

ntohs