EnumPorts 함수
EnumPorts 함수는 지정된 서버에서 인쇄할 수 있는 포트를 열거합니다.
구문
BOOL EnumPorts(
_In_ LPTSTR pName,
_In_ DWORD Level,
_Out_ LPBYTE pPorts,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
매개 변수
-
pName [in]
-
열거하려는 프린터 포트의 서버 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.
pName이 NULL이면 함수는 로컬 컴퓨터의 프린터 포트를 열거합니다.
-
수준 [in]
-
pPorts 버퍼에 반환되는 정보의 형식입니다. Level이 1이면 pPorts는 PORT_INFO_1 구조체의 배열을 받습니다. Level이 2이면 pPorts는 PORT_INFO_2 구조체의 배열을 받습니다.
-
pPorts [out]
-
PORT_INFO_1 또는 PORT_INFO_2 구조의 배열을 수신하는 버퍼에 대한 포인터입니다. 각 구조에는 사용 가능한 프린터 포트를 설명하는 데이터가 포함되어 있습니다. 버퍼는 구조체 멤버가 가리키는 문자열을 저장할 수 있을 만큼 커야 합니다.
필요한 버퍼 크기를 확인하려면 cbBuf가 0으로 설정된 EnumPorts를 호출합니다. EnumPorts가 실패하고 GetLastError 가 ERROR_INSUFFICIENT_BUFFER 반환하고 pcbNeeded 매개 변수는 구조체 및 해당 데이터의 배열을 보유하는 데 필요한 버퍼의 크기를 바이트 단위로 반환합니다.
-
cbBuf [in]
-
pPorts가 가리키는 버퍼의 크기(바이트)입니다.
-
pcbNeeded [out]
-
pPorts 버퍼에 복사된 바이트 수를 수신하는 변수에 대한 포인터입니다. 버퍼가 너무 작으면 함수가 실패하고 변수가 필요한 바이트 수를 받습니다.
-
pcReturned [out]
-
pPorts 버퍼에 반환된 PORT_INFO_1 또는 PORT_INFO_2 구조체의 수를 수신하는 변수에 대한 포인터입니다. 지정된 서버에서 사용할 수 있는 프린터 포트의 수입니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다.
설명
참고
이는 차단 또는 동기 함수이며 즉시 반환되지 않을 수 있습니다. 이 함수가 반환되는 빈도는 애플리케이션을 작성할 때 예측하기 어려운 네트워크 상태, 인쇄 서버 구성 및 프린터 드라이버 구현 요소와 같은 런타임 요인에 따라 달라집니다. 사용자 인터페이스와의 상호 작용을 관리하는 스레드에서 이 함수를 호출하면 애플리케이션이 응답하지 않는 것처럼 보일 수 있습니다.
pName으로 지정된 서버에 프린터가 정의되어 있지 않은 경우에도 EnumPorts 함수가 성공할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |
헤더 |
|
라이브러리 |
|
DLL |
|
유니코드 및 ANSI 이름 |
EnumPortsW (유니코드) 및 EnumPortsA (ANSI) |