📄 details.htm
字号:
</P>
<P>
CString strOutPut;
</P>
<P>
strOutPut.Format("\r\n************************************\r\n");
</P>
<P>
strMsg.Format("\tIP Statistics\t\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("\r\n************************************\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("IP forwarding enabled or disabled:\t%d\r\n",IPStatsMIB.
dwForwarding);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("default time-to-live:\t%d\r\n",IPStatsMIB. dwDefaultTTL);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams received:\t%d\r\n",IPStatsMIB. dwInReceives);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("received header errors:\t%d\r\n",IPStatsMIB. dwInHdrErrors);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("received address errors:\t%d\r\n",IPStatsMIB. dwInAddrErrors);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams forwarded:\t%d\r\n",IPStatsMIB. dwForwDatagrams);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams with unknown protocol:\t%d\r\n",IPStatsMIB.
dwInUnknownProtos);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("received datagrams discarded:\t%d\r\n",IPStatsMIB.
dwInDiscards);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("received datagrams delivered:\t%d\r\n",IPStatsMIB.
dwInDelivers);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("sent datagrams discarded:\t%d\r\n",IPStatsMIB. dwOutDiscards);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams for which no route exists:\t%d\r\n",IPStatsMIB.
dwOutNoRoutes);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams for which all frags did not
arrive:\t%d\r\n",IPStatsMIB.dwReasmTimeout);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams requiring reassembly:\t%d\r\n",IPStatsMIB.
dwReasmReqds);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("successful reassemblies:\t%d\r\n",IPStatsMIB. dwReasmOks);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("failed reassemblies:\t%d\r\n",IPStatsMIB. dwReasmFails);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("successful fragmentations:\t%d\r\n",IPStatsMIB. dwFragOks);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("failed fragmentations:\t%d\r\n",IPStatsMIB. dwFragFails);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("datagrams fragmented:\t%d\r\n",IPStatsMIB. dwFragCreates);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("number of interfaces on computer:\t%d\r\n",IPStatsMIB. dwNumIf);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("number of IP address on computer:\t%d\r\n",IPStatsMIB.
dwNumAddr);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("number of routes in routing table:\t%d\r\n",IPStatsMIB.
dwNumRoutes);
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
m_TextOutput.SetWindowText(strOutPut);
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000ff" size="2"> </P>
<P>
void</FONT><FONT size="2"> CWinNetStatView::OnBnClickedNwParams()</P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
FIXED_INFO * FixedInfo;
</P>
<P>
ULONG ulOutBufLen;
</P>
<P>
DWORD dwRetVal;
</P>
<P>
IP_ADDR_STRING * pIPAddr;
</P>
<P>
CString strMsg;
</P>
<P>
CString strOutPut;
</P>
<P>
strOutPut.Format("\r\n************************************\r\n");
</P>
<P>
strMsg.Format("\tNetwork Parameters\t\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("\r\n************************************\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, </FONT><FONT color="#0000ff" size="2">
sizeof</FONT><FONT size="2">( FIXED_INFO ) );</P>
<P>
ulOutBufLen = </FONT><FONT color="#0000ff" size="2">sizeof</FONT><FONT size="2">(
FIXED_INFO );</P>
<P>
</FONT><FONT color="#0000cc" size="2"><STRONG>if</STRONG></FONT><FONT size="2"><FONT color="#0000cc"><STRONG>(
ERROR_BUFFER_OVERFLOW == GetNetworkParams( FixedInfo, &ulOutBufLen ) )</STRONG></FONT></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
GlobalFree( FixedInfo );
</P>
<P>
FixedInfo =(FIXED_INFO *) GlobalAlloc( GPTR, ulOutBufLen );
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000cc" size="2"><STRONG>if</STRONG></FONT><FONT size="2"><FONT color="#0000cc"><STRONG>
( dwRetVal = GetNetworkParams( FixedInfo, &ulOutBufLen ) )</STRONG></FONT></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
strMsg.Format( "Call to GetNetworkParams failed. Return Value: %08x\r\n",
dwRetVal );
</P>
<P>
strOutPut+=strMsg;
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000ff" size="2">else</FONT><FONT size="2"></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
strMsg.Format( "Host Name: %s\r\n", FixedInfo -> HostName );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format( "Domain Name: %s\r\n", FixedInfo -> DomainName );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format( "DNS Servers:\r\n" );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format( "\t%s\r\n", FixedInfo -> DnsServerList.IpAddress.String );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
pIPAddr = FixedInfo -> DnsServerList.Next;
</P>
<P></FONT><FONT color="#0000ff" size="2">while</FONT><FONT size="2"> (
pIPAddr )</P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
strMsg.Format( "\t%s\r\n", pIPAddr ->IpAddress.String );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
pIPAddr = pIPAddr ->Next;
</P>
</BLOCKQUOTE>
<P>
}
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
m_TextOutput.SetWindowText(strOutPut);
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000ff" size="2"> </P>
<P>
void</FONT><FONT size="2"> CWinNetStatView::OnBnClickedAdapterInfo()</P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
IP_ADAPTER_INFO * FixedInfo;
</P>
<P>
ULONG ulOutBufLen;
</P>
<P>
DWORD dwRetVal;
</P>
<P>
IP_ADDR_STRING * pIPAddr;
</P>
<P>
CString strMsg;
</P>
<P>
CString strOutPut;
</P>
<P>
strOutPut.Format("\r\n************************************\r\n");
</P>
<P>
strMsg.Format("\t Adaptor Information\t\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format("\r\n************************************\r\n");
</P>
<P>
strOutPut+=strMsg;
</P>
<P>FixedInfo = (IP_ADAPTER_INFO *) GlobalAlloc( GPTR, </FONT><FONT color="#0000ff" size="2">
sizeof</FONT><FONT size="2">( IP_ADAPTER_INFO ) );</P>
<P>
ulOutBufLen = </FONT><FONT color="#0000ff" size="2">sizeof</FONT><FONT size="2">(
IP_ADAPTER_INFO );</P>
<P>
</FONT><FONT color="#0000cc" size="2"><STRONG>if</STRONG></FONT><FONT size="2"><STRONG><FONT color="#0000cc">(
ERROR_BUFFER_OVERFLOW == GetAdaptersInfo( FixedInfo, &ulOutBufLen ) )</FONT></STRONG></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
GlobalFree( FixedInfo );
</P>
<P>
FixedInfo =(IP_ADAPTER_INFO *) GlobalAlloc( GPTR, ulOutBufLen );
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000cc" size="2"><STRONG>if</STRONG></FONT><FONT size="2"><STRONG><FONT color="#0000cc">
( dwRetVal = GetAdaptersInfo( FixedInfo, &ulOutBufLen ) )</FONT></STRONG></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
strMsg.Format( "Call to GetAdaptersInfo failed. Return Value: %08x\r\n",
dwRetVal );
</P>
<P>
strOutPut+=strMsg;
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
</FONT><FONT color="#0000ff" size="2">else</FONT><FONT size="2"></P>
<P>
{
</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
strMsg.Format( "AdapterName: %s\r\n",FixedInfo->AdapterName );
</P>
<P>
strOutPut+=strMsg;
</P>
<P>
strMsg.Format( "Description: %s\r\n",FixedInfo->Description );
</P>
<P>
strOutPut+=strMsg;
</P>
</BLOCKQUOTE>
<P>
}
</P>
<P>
m_TextOutput.SetWindowText(strOutPut);
</P>
</BLOCKQUOTE>
<P>
}
</P>
</FONT>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -