Prev Next
The EnumPorts function enumerates the ports that are available for
printing on a specified server.
BOOL EnumPorts(
LPTSTR pName,
|
// pointer to server name
|
DWORD Level,
|
// specifies type of port info structure
|
LPBYTE pPorts,
|
// pointer to buffer to receive array of port info. structures
|
DWORD cbBuf,
|
// specifies size, in bytes, of buffer
|
LPDWORD pcbNeeded,
|
// pointer to number of bytes stored into buffer (or required
// buffer size)
|
LPDWORD pcReturned
|
// pointer to number of PORT_INFO_*. structures stored into buffer
|
);
|
|
Parameters
-
pName
-
Pointer to a null-terminated string that specifies the name of the server
whose printer ports you wish to enumerate.
If pName is NULL, the function enumerates the local machine’s printer
ports.
-
Level
-
Specifies the type of data structures pointed to by pPorts.
This value can be 1 or 2.
-
pPorts
-
Pointer to a buffer that receives an array of PORT_INFO_1
or PORT_INFO_2 structures. Each
structure contains data that describes an available printer port. The value of
Level specifies the type of structure. A Level value of 1
specifies PORT_INFO_1 structures. A Level value of 2 specifies PORT_INFO_2
structures.
-
cbBuf
-
Specifies the size, in bytes, of the buffer pointed to by pPorts.
-
pcbNeeded
-
Pointer to a variable that the function sets to the size, in bytes, of the
data that enumerates the printer ports. If cbBuf is smaller than
this value, EnumPorts fails, GetLastError
returns ERROR_INSUFFICIENT_BUFFER, and the variable pointed to by pcbNeeded
represents the required buffer size. If cbBuf is equal to or greater
than this value, the variable pointed to by pcbNeeded represents the
number of bytes stored into the buffer.
-
pcReturned
-
Pointer to a variable that the function sets to the number of PORT_INFO_*
structures that it stores into the buffer pointed to by pPorts. This is
the number of printer ports that are available on the specified server.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error
information, call GetLastError.
Remarks
The EnumPorts function can succeed even if the server specified by pName
does not have a printer defined.
See Also
AddPort, DeletePort,
PORT_INFO_1, PORT_INFO_2