다음을 통해 공유


AddPrinterConnection2 함수

현재 사용자의 지정된 프린터에 연결을 추가하고 연결 세부 정보를 지정합니다.

구문

BOOL AddPrinterConnection2(
  _In_ HWND    hWnd,
  _In_ LPCTSTR pszName,
       DWORD   dwLevel,
  _In_ PVOID   pConnectionInfo
);

매개 변수

hWnd [in]

인쇄 시스템이 이 연결을 위해 인쇄 서버에서 프린터 드라이버를 다운로드해야 하는 경우 대화 상자가 표시되는 부모 창에 대한 핸들입니다.

pszName [in]

현재 사용자가 연결하려는 프린터의 이름을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다.

dwLevel

pConnectionInfo가 가리키는 구조체의 버전입니다. 현재 수준 1만 정의되므로 dwLevel 값은 1이어야 합니다.

pConnectionInfo [in]

PRINTER_CONNECTION_INFO_1 구조체에 대한 포인터입니다. 이 매개 변수에 대한 자세한 내용은 설명 섹션을 참조하세요.

반환 값

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

함수가 실패하면 반환 값은 0입니다. 확장된 오류 정보는 GetLastError를 호출합니다.

설명

참고

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

Windows Vista가 프린터에 연결하는 경우 프린터가 연결된 서버에서 프린터 드라이버 파일을 복사해야 할 수 있습니다. 사용자에게 적절한 위치에 파일을 복사할 수 있는 권한이 없으면 AddPrinterConnection2 함수가 실패하고 GetLastError 가 ERROR_ACCESS_DENIED 반환합니다.

프린터 드라이버 파일을 인쇄 서버에서 복사해야 하지만 적용되고 PRINTER_CONNECTION_NO_UI pConnectionInfo-dwFlags>에 설정된 그룹 정책으로 인해 자동으로 복사할 수 없는 경우 대화 상자가 표시되지 않고 호출이 실패합니다.

로컬 프린터 드라이버를 사용하여 이 프린터의 인쇄 작업을 렌더링할 수 있고 로컬 드라이버 버전이 서버의 프린터 드라이버 버전과 일치하지 않아야 하는 경우 pConnectionInfo-dwFlags>에서 PRINTER_CONNECTION_MISMATCH 설정하고 로컬 프린터 드라이버의 경로가 포함된 문자열 변수에 포인터를 pConnectionInfo-pszDriverName>에 할당합니다.

AddPrinterConnection2를 호출하여 설정된 프린터 연결은 dwType이 PRINTER_ENUM_CONNECTION 설정된 EnumPrinters가 호출될 때 열거됩니다.

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

요구 사항

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

추가 정보

인쇄

인쇄 스풀러 API 함수

ConnectToPrinterDlg

EnumPrinters

DeletePrinterConnection