다음을 통해 공유


EnumPrinterDrivers 함수

EnumPrinterDrivers 함수는 지정된 프린터 서버에 설치된 프린터 드라이버를 열거합니다.

구문

BOOL EnumPrinterDrivers(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDriverInfo,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

매개 변수

pName [in]

프린터 드라이버가 열거되는 서버의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

pNameNULL이면 함수는 로컬 프린터 드라이버를 열거합니다.

pEnvironment [in]

환경을 지정하는 null로 끝나는 문자열에 대한 포인터입니다(예: Windows x86, Windows IA64, Windows x64 또는 Windows NT R4000). 이 매개 변수가 NULL인 경우 함수는 대상/서버가 아닌 호출자/클라이언트의 현재 환경을 사용합니다.

pEnvironment 문자열이 "all"을 지정하는 경우 EnumPrinterDrivers는 지정된 서버에 설치된 모든 플랫폼의 프린터 드라이버를 열거합니다.

수준 [in]

pDriverInfo 버퍼에 반환된 정보 구조체의 형식입니다. 다음 중 하나일 수 있습니다.

의미
1
DRIVER_INFO_1
2
DRIVER_INFO_2
3
DRIVER_INFO_3
4
DRIVER_INFO_4
5
DRIVER_INFO_5
6
DRIVER_INFO_6
8
DRIVER_INFO_8

pDriverInfo [out]

Level에서 지정한 대로 DRIVER_INFO_* 구조체의 배열을 수신하는 버퍼에 대한 포인터입니다. 각 구조에는 사용 가능한 프린터 드라이버를 설명하는 데이터가 포함되어 있습니다. 버퍼는 구조체의 배열과 구조체 멤버가 가리키는 문자열 또는 기타 데이터를 받을 수 있을 만큼 커야 합니다.

필요한 버퍼 크기를 확인하려면 cbBuf가 0으로 설정된 EnumPrinterDrivers를 호출합니다. EnumPrinterDrivers 가 실패하고 GetLastError 가 ERROR_INSUFFICIENT_BUFFER 반환하고 pcbNeeded 매개 변수는 구조체 및 해당 데이터의 배열을 보유하는 데 필요한 버퍼의 크기를 바이트 단위로 반환합니다.

cbBuf [in]

pDriverInfo가 가리키는 버퍼의 크기(바이트)입니다.

pcbNeeded [out]

함수가 성공하면 pDriverInfo 버퍼에 복사된 바이트 수를 수신하는 변수에 대한 포인터입니다. 버퍼가 너무 작으면 함수가 실패하고 변수가 필요한 바이트 수를 받습니다.

pcReturned [out]

pDriverInfo 버퍼에 반환된 구조체 수를 수신하는 변수에 대한 포인터입니다. 지정된 인쇄 서버에 설치된 프린터 드라이버 수입니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다.

설명

참고

이는 차단 또는 동기 함수이며 즉시 반환되지 않을 수 있습니다. 이 함수가 반환되는 빈도는 애플리케이션을 작성할 때 예측하기 어려운 네트워크 상태, 인쇄 서버 구성 및 프린터 드라이버 구현 요소와 같은 런타임 요인에 따라 달라집니다. 사용자 인터페이스와의 상호 작용을 관리하는 스레드에서 이 함수를 호출하면 애플리케이션이 응답하지 않는 것처럼 보일 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Winspool.h(Windows.h 포함)
라이브러리
Winspool.lib
DLL
Winspool.drv
유니코드 및 ANSI 이름
EnumPrinterDriversW (유니코드) 및 EnumPrinterDriversA (ANSI)

추가 정보

인쇄

인쇄 스풀러 API 함수

AddPrinterDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

GetPrinterDriver