Compartilhar via


estrutura MIB_TCP6ROW_OWNER_PID (tcpmib.h)

A estrutura MIB_TCP6ROW_OWNER_PID contém informações que descrevem uma conexão TCP IPv6 associada a uma PID (ID de processo) específica.

Sintaxe

typedef struct _MIB_TCP6ROW_OWNER_PID {
  UCHAR ucLocalAddr[16];
  DWORD dwLocalScopeId;
  DWORD dwLocalPort;
  UCHAR ucRemoteAddr[16];
  DWORD dwRemoteScopeId;
  DWORD dwRemotePort;
  DWORD dwState;
  DWORD dwOwningPid;
} MIB_TCP6ROW_OWNER_PID, *PMIB_TCP6ROW_OWNER_PID;

Membros

ucLocalAddr[16]

Tipo: UCHAR[16]

O endereço IPv6 para o ponto de extremidade local da 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 na ordem de bytes de rede para o endereço IPv6 local.

dwLocalPort

Tipo: DWORD

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

ucRemoteAddr[16]

Tipo: UCHAR[16]

O endereço IPv6 do ponto de extremidade remoto da conexão TCP no computador remoto. Quando o membro dwState é MIB_TCP_STATE_LISTEN, esse valor não tem significado.

dwRemoteScopeId

Tipo: DWORD

A ID de escopo na ordem de bytes de rede para o endereço IPv6 remoto.

dwRemotePort

Tipo: DWORD

O número da porta na ordem de bytes de rede para o ponto de extremidade remoto da conexão TCP no computador remoto.

dwState

Tipo: DWORD

O estado da conexão TCP. Esse membro pode ser um dos valores da enumeração MIB_TCP_STATE definida no arquivo de cabeçalho Tcpmib.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.

dwOwningPid

Tipo: DWORD

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

Comentários

A estrutura MIB_TCP6TABLE_OWNER_PID é retornada por uma chamada para GetExtendedTcpTable com o parâmetro TableClass definido como TCP_TABLE_OWNER_PID_LISTENER, TCP_TABLE_OWNER_PID_CONNECTIONS ou TCP_TABLE_OWNER_PID_ALL da enumeração TCP_TABLE_CLASS e o parâmetro ulAf definido como AF_INET6. A estrutura MIB_TCP6TABLE_OWNER_PID contém uma matriz de estruturas MIB_TCP6ROW_OWNER_PID .

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 em 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 ucLocalAddr e ucRemoteAddr são armazenados em uma matriz de caracteres na ordem de bytes de rede. As funções RtlIpv6AddressToString ou RtlIpv6AddressToStringEx podem ser usadas para converter o endereço IPv6 nos membros ucLocalAddr ou ucRemoteAddr em uma cadeia de caracteres sem carregar a DLL do Windows Sockets.

No Microsoft Windows Software Development Kit (SDK) lançado para 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

   
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

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

TCP_TABLE_CLASS

inet_ntoa

ntohl

ntohs