다음을 통해 공유


GetPrinterDriver2 함수

GetPrinterDriver2 함수는 지정된 프린터의 드라이버 데이터를 검색합니다. 로컬 컴퓨터에 드라이버가 설치되어 있지 않으면 GetPrinterDriver2 에서 드라이버를 설치하고 지정된 창에 사용자 인터페이스를 표시합니다.

구문

BOOL GetPrinterDriver2(
  _In_opt_ HWND    hWnd,
  _In_     HANDLE  hPrinter,
  _In_opt_ LPTSTR  pEnvironment,
  _In_     DWORD   Level,
  _Out_    LPBYTE  pDriverInfo,
  _In_     DWORD   cbBuf,
  _Out_    LPDWORD pcbNeeded
);

매개 변수

hWnd [in, optional]

설치 중에 드라이버가 표시하는 대화 상자와 같은 사용자 인터페이스의 부모 창으로 사용할 창의 핸들입니다. 이 매개 변수의 값이 NULL이면 설치하는 동안 드라이버의 사용자 인터페이스가 사용자에게 계속 표시되지만 부모 창은 없습니다.

hPrinter [in]

드라이버 데이터를 검색해야 하는 프린터에 대한 핸들입니다. OpenPrinter 또는 AddPrinter 함수를 사용하여 프린터 핸들을 검색합니다.

pEnvironment [in, optional]

환경을 지정하는 null로 끝나는 문자열에 대한 포인터입니다(예: Windows x86, Windows IA64 또는 Windows x64). 이 매개 변수가 NULL이면 대상 애플리케이션 및 인쇄 서버가 아닌 호출 애플리케이션 및 클라이언트 컴퓨터의 현재 환경이 사용됩니다.

수준 [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에서 지정한 대로 드라이버에 대한 정보가 포함된 구조를 수신하는 버퍼에 대한 포인터입니다. 버퍼는 구조체 멤버가 가리키는 문자열을 저장할 수 있을 만큼 커야 합니다.

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

cbBuf [in]

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

pcbNeeded [out]

함수가 성공하면 복사된 바이트 수 또는 cbBuf 가 너무 작은 경우 필요한 바이트 수를 받는 값에 대한 포인터입니다.

반환 값

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

함수가 실패하면 반환 값은 0입니다. 반환 상태 얻으려면 GetLastError를 호출합니다.

설명

DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, DRIVER_INFO_6DRIVER_INFO_8 구조에는 pDriverPath 멤버에 있는 프린터 드라이버의 파일 이름 또는 전체 경로 및 파일 이름이 포함됩니다. 애플리케이션은 경로 및 파일 이름을 사용하여 LoadLibrary 함수를 호출하고 경로 및 파일 이름을 단일 인수로 제공하여 프린터 드라이버를 로드할 수 있습니다.

이 함수의 ANSI 버전인 GetPrinterDriver2A 는 지원되지 않으며 ERROR_NOT_SUPPORTED 반환합니다.

요구 사항

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

추가 정보

인쇄

인쇄 스풀러 API 함수

AddPrinterDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriver

OpenPrinter