词条 | GetNetworkParams |
释义 | 声明DWORD GetNetworkParams( PFIXED_INFO info, PULONG pOutButLen ); This function retrieves network parameters for the local computer. 说明获取本地计算机的网络参数。 参数Info [out] 一个指向缓冲的指针,它包含一个FIXED_INFO 结构,如果函数成功的话,该结构接收本地计算机的网络参数。该缓冲必须在之前由GetNetworkParams 函数分配。 pOutBufLen [in] 一个指向一个ULONG变量的指针,该变量指定FIXED_INFO结构的大小。如果不够大,则该函数会以合适的大小来填充这个变量,并返回一个ERROR_BUFFER_OVERFLOW的错误代码。 使用(c++源码)void GetDns() { FIXED_INFO * FixedInfo; ULONG ulOutBufLen; DWORD dwRetVal; IP_ADDR_STRING * pIPAddr; FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, sizeof( FIXED_INFO ) ); ulOutBufLen = sizeof( FIXED_INFO ); if( ERROR_BUFFER_OVERFLOW == GetNetworkParams( FixedInfo, &ulOutBufLen ) ) { GlobalFree( FixedInfo ); FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, ulOutBufLen ); } if ( dwRetVal = GetNetworkParams( FixedInfo, &ulOutBufLen ) ) { printf( "Call to GetNetworkParams failed. Return Value: %08x\", dwRetVal ); } else { printf( "Host Name: %s\", FixedInfo -> HostName ); printf( "Domain Name: %s\", FixedInfo -> DomainName ); printf( "DNS Servers:\" ); printf( "\\t%s\", FixedInfo -> DnsServerList.IpAddress.String ); pIPAddr = FixedInfo -> DnsServerList.Next; while ( pIPAddr ) { printf( "\\t%s\", pIPAddr ->IpAddress.String ); pIPAddr = pIPAddr ->Next; } } } 返回值如果函数成功,返回ERROR_SUCCESS,否则,返回下列错误代码: 返回码 描述 ERROR_BUFFER_OVERFLOW 用于接收网络参数信息的缓冲太小。如果pOutBufLen参数太小以至于不能承载网络参数信息或pFixedInfo参数是一个NULL指针。当这个错误代码返回时,pOutBufLen 参数指向合适的缓冲大小。 ERROR_INVALID_PARAMETER 一个无效的参数传递给该函数。如果pOutBufLen参数是一个NULL指针,主调进程对pOutBufLen参数指向的内存区域不具有读写权限,以及主调进程对由pFixedInfo参数指向的内存不具有写权限时,会返回该错误。 ERROR_NO_DATA 本地计算机不存在网络参数信息。 ERROR_NOT_SUPPORTED 本地计算机上的操作系统不支持该函数 Other 如果函数失败,使用FormatMessage 函数为返回错误码来获得消息字符串。 备注该函数用于会的本地计算机的网络参数信息。网络参数会以一个FIXED_INFO结构返回给用户。FIXED_INFO结构所在的内存必须由应用程序来分配。当不再需要这个结构时,需要由应用程序来释放它所占据的内存。 要求Minimum supported client Windows 2000 Professional Minimum supported server Windows 2000 Server Header Iphlpapi.h Library Iphlpapi.lib DLL Iphlpapi.dll |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。