estrutura MIB_TCP6ROW2 (tcpmib.h)

A estrutura MIB_TCP6ROW2 contém informações que descrevem uma conexão TCP IPv6.

Sintaxe

typedef struct _MIB_TCP6ROW2 {
  IN6_ADDR                     LocalAddr;
  DWORD                        dwLocalScopeId;
  DWORD                        dwLocalPort;
  IN6_ADDR                     RemoteAddr;
  DWORD                        dwRemoteScopeId;
  DWORD                        dwRemotePort;
  MIB_TCP_STATE                State;
  DWORD                        dwOwningPid;
  TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
} MIB_TCP6ROW2, *PMIB_TCP6ROW2;

Membros

LocalAddr

Tipo: IN6_ADDR

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

dwLocalScopeId

Tipo: DWORD

A ID de escopo local para a conexão TCP no computador local.

dwLocalPort

Tipo: DWORD

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

O tamanho máximo de um número de porta IP é de 16 bits, portanto, somente os 16 bits inferiores devem ser usados. Os 16 bits superiores podem conter dados não inicializados.

RemoteAddr

Tipo: IN6_ADDR

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

dwRemoteScopeId

Tipo: DWORD

A ID de escopo remoto para a conexão TCP no computador remoto. Quando o membro State é 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 State é MIB_TCP_STATE_LISTEN, esse valor não tem nenhum significado.

O tamanho máximo de um número de porta IP é de 16 bits, portanto, somente os 16 bits inferiores devem ser usados. Os 16 bits superiores podem conter dados não inicializados.

State

Tipo: MIB_TCP_STATE

O estado da conexão TCP. Esse membro pode ser um dos valores do tipo de enumeração MIB_TCP_STATE definido no arquivo de cabeçalho Tcpmib.h .

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.

dwOwningPid

Tipo: DWORD

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

dwOffloadState

Tipo: TCP_CONNECTION_OFFLOAD_STATE

O estado de descarregamento dessa conexão TCP. Esse parâmetro pode ser um dos valores de enumeração para o TCP_CONNECTION_OFFLOAD_STATE definido no cabeçalho Tcpmib.h .

Comentários

A estrutura MIB_TCP6ROW2 é definida no Windows Vista e posterior.

A função GetTcp6Table2 recupera a tabela de conexões TCP IPv6 no computador local e retorna essas informações em uma estrutura de MIB_TCP6TABLE2 .

Uma matriz de estruturas MIB_TCP6ROW2 estão contidas na estrutura MIB_TCP6TABLE2 .

O membro State 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 dwLocalScopeId e dwRemoteScopeId estão em ordem de byte de rede. Para usar os membros dwLocalScopeId ou dwRemoteScopeId , as funções ntohl ou inet_ntoa no Windows Sockets ou funções semelhantes podem ser necessárias.

Os membros LocalAddr e RemoteAddr são armazenados em estruturas in6_addr . As funções RtlIpv6AddressToString ou RtlIpv6AddressToStringEx podem ser usadas para converter o endereço IPv6 nos membros LocalAddr ou RemoteAddr em uma cadeia de caracteres sem carregar a DLL do Windows Sockets.

Requisitos

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

Confira também

GetTcp6Table

GetTcp6Table2

MIB_TCP6TABLE

MIB_TCP6TABLE2

MIB_TCPROW

MIB_TCPTABLE

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

TCP_CONNECTION_OFFLOAD_STATE

in6_addr

inet_ntoa

ntohl

ntohs