EnumPorts功能枚举可用于在指定服务器上打印的端口。
BOOL EnumPorts(
LPTSTR 【PNAME】, | //指向服务器名称的指针 |
DWORD 【水平】, | //指定端口信息结构的类型 |
LPBYTE 【pports】, | //指向缓冲区的指针,以接收端口信息数组。结构 |
DWORD 【cbBuf】, | //指定缓冲区的大小(以字节为单位) |
LPDWORD 【pcbNeeded】, | //指向存储到缓冲区中的字节数的指针(或必需的) // 缓冲区大小) |
LPDWORD 【pcReturned】 | //指向PORT_INFO_ *号的指针。结构存储到缓冲区 |
); |
参数
【PNAME】
指向以空值终止的字符串,指定要打印端口的服务器的名称。
如果【PNAME】为NULL,则该函数枚举本地计算机的打印机端口。
【水平】
指定【pports】指向的数据结构类型。
该值可以是1或2。
【pports】
指向接收PORT_INFO_1或PORT_INFO_2结构数组的缓冲区。每个结构包含描述可用打印机端口的数据。【水平】的值指定结构的类型。【水平】值1指定PORT_INFO_1结构。【水平】值2指定PORT_INFO_2结构。
【cbBuf】
指定【pports。】指向的缓冲区的大小(以字节为单位)
【pcbNeeded】
指向功能设置为枚举打印机端口的数据大小的变量的指针【.】如果【cbBuf】小于此值,EnumPorts将失败,GetLastError返回ERROR_INSUFFICIENT_BUFFER,该变量【pcbNeeded】指向的表示所需的缓冲区大小。如果【cbBuf】等于或大于此值,则【pcbNeeded】指向的变量表示存储在缓冲区中的字节数。
【pcReturned】
指向一个变量的指针,该变量的函数设置为由【pports】指向的缓冲区中存储的PORT_INFO_*结构的数量。这是指定服务器上可用的打印机端口数。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
即使【PNAME】指定的服务器没有定义打印机,EnumPorts功能也可以成功。
也可以看看