EnumPorts函数枚举计算端口

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//---------------------------------------------------------------------------  
#include <windows>  
#include <winspool.h>  
#pragma hdrstop  
//---------------------------------------------------------------------------  
#pragma argsused  
#include <stdio.h>  
int  main( int  argc,  char * argv[])  
{  
       const  LPTSTR  pName = NULL;     // 此处为空,就是本机  
       const  DWORD  Level = 2;         // 指定端口类型结构体,即PORT_INFO_2  
       LPBYTE  port=0;          // 接收端口信息结构体数组指针  
       DWORD   pcbNeeded=0;     // 缓冲区字节指针(必需)  
       DWORD   pcReturned=0;    // 返回结果PORT_INFO_* 结构体缓冲区数量  
   
       if  (EnumPorts(NULL,Level,port,0,&pcbNeeded,&pcReturned))  
       {  
           return  0; //同一函数,第一次执行获取所需缓冲区大小pcbNeeded  
       }  
       port =  new  BYTE [pcbNeeded];  
       if  (!EnumPorts(pName,Level,port,pcbNeeded,&pcbNeeded,&pcReturned))  
       {  
           return  0; //同一函数,第二次执行获取端口个数pcReturned  
       }  
   
       PORT_INFO_2  ArrPort[100] = {0};  
       memcpy (ArrPort,port,pcbNeeded); //取出端口信息放入数组  
   
       for ( int  i=0;i<pcReturned;i++)  
       {  
           printf ( "%s \r\n" ,ArrPort[i].pPortName);  //返回端口名称  
       }  
       delete  port;  
   
       getchar ();  
       return  0;  
}  
//---------------------------------------------------------------------------

wKioL1nB-OGgLMPIAABHFhQVWn0902.jpg-wh_50











本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1967108 ,如需转载请自行联系原作者



相关文章
|
数据安全/隐私保护
云虚拟主机wordpress发送邮件,解决25端口和fsockopen函数问题
最近在阿里云的云虚拟主机上用wordpress搭建了一个站点,搭建好之后发现无法发送邮件。 通过查资料发现云虚拟主机默认封锁了25端口,于是尝试使用第三方SMTP通过465端口发送,wordpress中有现有的插件,安装了使用人数最多的WP Mail SMTP,在插件的设置中填好各项信息,邮件程序选择“其他SMTP”,SMTP端口填465,加密选SSL/TLS,其他信息可在邮件服务商(如阿里云邮件服务、QQ邮箱、163邮箱等)的设置中找到(注意密码可能并非邮箱登录密码而是另外的授权码)。
3309 1
|
IDE Linux 开发工具
IO端口和IO内存的区别及分别使用的函数接口
每个外设都是通过读写其寄存器来控制的。外设寄存器也称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把CPU分成两大类。一类CPU(如M68K,Power PC等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行,所以,这种CPU没有专门用于设备I/O的指令。
1651 0
|
5月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu20.4服务器安装mysql社区版并开放3306端口】
现在,你已经在Ubuntu 20.04服务器上成功安装了MySQL社区版,并且已经开放了3306端口,可以通过该端口访问MySQL服务器了。请确保在生产环境中设置安全措施,例如设置强密码、限制访问等,以保护数据库的安全性。
98 2
|
4月前
|
Java Nacos Docker
在集成nacos时,端口9848报错但服务器的这个端口是开放的
在集成nacos时,端口9848报错但服务器的这个端口是开放的【1月更文挑战第14天】【1月更文挑战第67篇】
323 1
|
2月前
|
安全 Windows
服务器中如何检查端口是否开放
服务器中如何检查端口是否开放
|
7月前
|
网络协议 Linux 数据安全/隐私保护
如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
|
12天前
|
Ubuntu 网络安全 数据安全/隐私保护
使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地
这样,你就成功地将Ubuntu云服务器上的Jupyter Notebook端口映射到本地,使你能够通过本地浏览器访问并使用Jupyter Notebook。
33 1
|
13天前
|
监控 安全 BI
如果服务器端口被扫会发生哪些故障?
在数字化时代,服务器作为支撑各种业务运行的核心基础设施,其安全性至关重要。然而,当服务器的端口被恶意扫描时,可能会引发一系列故障,给企业和个人带来不可估量的损失。那么,服务器端口被扫会发生哪些故障呢?
25 3
|
22天前
|
安全 网络协议 网络安全
云服务器常见端口有哪些?(常见云服务器端口含义)
云服务器常用端口在网络通信中起着至关重要的作用。打个比方,我们将云服务器想象为一座拥有众多建筑物和场所的繁华城市。每个建筑物代表在云服务器上运行的特定应用程序或服务,例如网站、电子邮件服务器或数据库。现在,将端口视为这些建筑物的入口。为了确保城市的顺利运转和安全,您需要有一个规范的系统来管理这些入口。
27 13
|
1月前
|
网络协议
qt5-Tcp端口转发服务器更新
qt5-Tcp端口转发服务器更新
8 0