Condividi tramite


struttura MIB_TCPROW_OWNER_PID (tcpmib.h)

La struttura MIB_TCPROW_OWNER_PID contiene informazioni che descrivono una connessione TCP IPv4 con indirizzi IPv4, porte usate dalla connessione TCP e l'ID processo specifico (PID) associato alla connessione.

Sintassi

typedef struct _MIB_TCPROW_OWNER_PID {
  DWORD dwState;
  DWORD dwLocalAddr;
  DWORD dwLocalPort;
  DWORD dwRemoteAddr;
  DWORD dwRemotePort;
  DWORD dwOwningPid;
} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;

Members

dwState

Tipo: DWORD

Stato della connessione TCP. Questo membro può essere uno dei valori definiti nel file di intestazione Iprtrmib.h .

Nella Windows SDK rilasciata per Windows Vista e versioni successive, l'organizzazione dei file di intestazione è cambiata. Questo membro può essere uno dei valori dell'enumerazione MIB_TCP_STATE definita nel file di intestazione Tcpmib.h , non nel file di intestazione Iprtrmib.h . Si noti che il file di intestazione Tcpmib.h viene automaticamente incluso in Iprtrmib.h, incluso automaticamente nel file di intestazione Iphlpapi.h . I file di intestazione Tcpmib.h e Iprtrmib.h non devono mai essere usati direttamente.

Valore Significato
MIB_TCP_STATE_CLOSED
1
La connessione TCP si trova nello stato CLOSED che non rappresenta affatto lo stato di connessione.
MIB_TCP_STATE_LISTEN
2
La connessione TCP si trova nello stato LISTEN in attesa di una richiesta di connessione da qualsiasi porta e TCP remoto.
MIB_TCP_STATE_SYN_SENT
3
La connessione TCP si trova nello stato SYN-SENT in attesa di una richiesta di connessione corrispondente dopo aver inviato una richiesta di connessione (pacchetto SYN).
MIB_TCP_STATE_SYN_RCVD
4
La connessione TCP si trova nello stato SYN-RECEIVED in attesa di una conferma del riconoscimento della richiesta di connessione dopo aver ricevuto e inviato una richiesta di connessione (pacchetto SYN).
MIB_TCP_STATE_ESTAB
5
La connessione TCP si trova nello stato ESTABLISHED che rappresenta una connessione aperta, i dati ricevuti possono essere recapitati all'utente. Questo è lo stato normale per la fase di trasferimento dei dati della connessione TCP.
MIB_TCP_STATE_FIN_WAIT1
6
La connessione TCP è in attesa dello stato FIN-WAIT-1 in attesa di una richiesta di terminazione della connessione da TCP remoto o di un riconoscimento della richiesta di terminazione della connessione inviata in precedenza.
MIB_TCP_STATE_FIN_WAIT2
7
La connessione TCP è in attesa dello stato FIN-WAIT-2 per una richiesta di terminazione della connessione da TCP remoto.
MIB_TCP_STATE_CLOSE_WAIT
8
La connessione TCP si trova nello stato CLOSE-WAIT in attesa di una richiesta di terminazione della connessione dall'utente locale.
MIB_TCP_STATE_CLOSING
9
La connessione TCP si trova nello stato CLOSING in attesa del riconoscimento di una richiesta di terminazione della connessione da TCP remoto.
MIB_TCP_STATE_LAST_ACK
10
La connessione TCP si trova nello stato LAST-ACK in attesa di un riconoscimento della richiesta di terminazione della connessione inviata in precedenza al TCP remoto (che include un riconoscimento della richiesta di terminazione della connessione).
MIB_TCP_STATE_TIME_WAIT
11
La connessione TCP si trova nello stato TIME-WAIT in attesa del tempo sufficiente per assicurarsi che il TCP remoto abbia ricevuto il riconoscimento della richiesta di terminazione della connessione.
MIB_TCP_STATE_DELETE_TCB
12
La connessione TCP si trova nello stato di eliminazione TCB che rappresenta l'eliminazione del TCB (Transmission Control Block), una struttura di dati utilizzata per mantenere le informazioni su ogni voce TCP.

dwLocalAddr

Tipo: DWORD

Indirizzo IPv4 locale per la connessione TCP nel computer locale. Il valore zero indica che il listener può accettare una connessione su qualsiasi interfaccia.

dwLocalPort

Tipo: DWORD

Numero di porta locale in ordine di byte di rete per la connessione TCP nel computer locale.

dwRemoteAddr

Tipo: DWORD

Indirizzo IPv4 per la connessione TCP nel computer remoto. Quando il membro dwState è MIB_TCP_STATE_LISTEN, questo valore non ha alcun significato.

dwRemotePort

Tipo: DWORD

Numero di porta remota in ordine di byte di rete per la connessione TCP nel computer remoto. Quando il membro dwState è MIB_TCP_STATE_LISTEN, questo membro non ha alcun significato.

dwOwningPid

Tipo: DWORD

PID del processo che ha emesso un binding di contesto per questa connessione TCP.

Commenti

La struttura MIB_TCPROW_OWNER_PID viene restituita da una chiamata a GetExtendedTcpTable con il parametro TableClass impostato su TCP_TABLE_OWNER_PID_LISTENER, TCP_TABLE_OWNER_PID_CONNECTIONS o TCP_TABLE_OWNER_PID_ALL dall'enumerazione TCP_TABLE_CLASS e il parametro ulAf impostato su AF_INET4.

Il membro dwState indica lo stato della voce TCP in un diagramma di stato TCP. Una connessione TCP passa attraverso una serie di stati durante la sua durata. Gli stati sono: LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT e lo stato fittizio CLOSED. Lo stato CLOSED è fittizio perché rappresenta lo stato quando non è presente alcun blocco di controllo trasmissione e pertanto nessuna connessione. Il protocollo TCP è descritto in RFC 793. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc793.txt.

I membri dwLocalPort e dwRemotePort sono in ordine di byte di rete. Per usare i membri dwLocalPort o dwRemotePort , possono essere necessarie le funzioni ntohs o inet_ntoa in Windows Sockets o funzioni simili. I membri dwLocalAddr e dwRemoteAddr vengono archiviati come DWORD nello stesso formato della struttura in_addr . Per usare i membri dwLocalAddr o dwRemoteAddr , potrebbero essere necessarie le funzioni ntohl o inet_ntoa in Windows Sockets o funzioni simili. In Windows Vista e versioni successive è possibile usare le funzioni RtlIpv4AddressToString o RtlIpv4AddressToStringEx per convertire l'indirizzo IPv4 nei membri dwLocalAddr o dwRemoteAddr in una stringa senza caricare la DLL di Windows Sockets.

Nella Windows SDK rilasciata per Windows Vista e versioni successive, l'organizzazione dei file di intestazione è cambiata. Questa struttura è definita nel file di intestazione Tcpmib.h , non nel file di intestazione Iprtrmib.h . Si noti che il file di intestazione Tcpmib.h viene automaticamente incluso in Iprtrmib.h, incluso automaticamente nel file di intestazione Iphlpapi.h . I file di intestazione Tcpmib.h e Iprtrmib.h non devono mai essere usati direttamente.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista, Windows XP con SP2 [solo app desktop]
Server minimo supportato Windows Server 2008, Windows Server 2003 con SP1 [solo app desktop]
Intestazione tcpmib.h (include Iphlpapi.h)

Vedi anche

GetExtendedTcpTable

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

TCP_TABLE_CLASS

in_addr

inet_ntoa

ntohl

ntohs