GetPrinter 함수

Getprinter 함수는 지정 된 프린터에 대 한 정보를 검색 합니다.

구문

BOOL GetPrinter(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pPrinter,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded
);

매개 변수

Hprinter [ 진행]

함수가 정보를 검색 하는 프린터에 대 한 핸들입니다. Openprinter 또는 addprinter 함수를 사용 하 여 프린터 핸들을 검색 합니다.

수준 [ 진행]

함수가 Pprinter 가 가리키는 버퍼에 저장 하는 구조체의 수준 또는 형식입니다.

이 값은 1, 2, 3, 4, 5, 6, 7, 8 또는 9 일 수 있습니다.

Pprinter [ 제한이]

지정 된 프린터에 대 한 정보를 포함 하는 구조체를 받는 버퍼에 대 한 포인터입니다. 버퍼는 구조와 구조 멤버가 가리키는 모든 문자열 또는 기타 데이터를 받을 수 있을 만큼 커야 합니다. 버퍼가 너무 작으면 Pcbneeded 매개 변수는 필요한 버퍼 크기를 반환 합니다.

구조체의 형식은 수준 값에 따라 결정 됩니다.

Level 구조체
1
일반 프린터 정보를 포함 하는 프린터 _ 정보 _ 1 구조입니다.
2
프린터에 대 한 자세한 정보를 포함 하는 프린터 _ 정보 _ 2 구조입니다.
3
프린터의 보안 정보를 포함 하는 프린터 _ 정보 _ 3 구조입니다.
4
프린터 이름, 서버 이름 및 프린터가 원격 인지 로컬 인지 여부를 포함 하 여 최소 프린터 정보를 포함 하는 프린터 정보 _ _ 4 구조입니다.
5
프린터 특성 및 시간 제한 설정과 같은 프린터 정보를 포함 하는 프린터 _ 정보 _ 5 구조입니다.
6
프린터의 상태 값을 지정 하는 프린터 _ 정보 _ 6 구조입니다.
7
프린터가 디렉터리 서비스에 게시 되었는지 여부를 나타내는 프린터 _ 정보 _ 7 구조입니다.
20cm(8
전역 기본 프린터 설정을 지정 하는 프린터 _ 정보 _ 8 구조입니다.
9
사용자 단위 기본 프린터 설정을 지정 하는 프린터 _ 정보 _ 9 구조입니다.

Cbbuf [ 진행]

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

Pcbneeded [ 제한이]

함수가 프린터 정보의 크기 (바이트)로 설정 하는 변수에 대 한 포인터입니다. Cbbuf 가이 값 보다 작으면 getprinter 는 실패 하 고 값은 필요한 버퍼 크기를 나타냅니다. Cbbuf 가이 값 보다 크거나 같은 경우 getprinter 는 성공 하 고 값은 버퍼에 저장 된 바이트 수를 나타냅니다.

반환 값

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

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

설명

참고

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

프린터 _ 정보 _ 2, 프린터 _ 정보 _ 8프린터 _ 정보 _ 9 구조의 pdevmode 구성원은 NULL 일 수 있습니다. 이 경우 드라이버가 성공적으로 다시 설치 될 때까지 프린터를 사용할 수 없습니다.

보안 설명자에 대 한 포인터를 포함 하는 프린터 _ 정보 _ 2프린터 _ 정보 _ 3 구조의 경우 함수는 호출자에 게 읽기 권한이 있는 보안 설명자의 구성 요소만 검색 합니다. 특정 보안 설명자 구성 요소를 검색 하려면 openprinter 함수를 호출 하 여 프린터에 대 한 핸들을 검색 하는 데 필요한 액세스 권한을 지정 해야 합니다. 다음 표에서는 다양 한 보안 설명자 구성 요소를 읽는 데 필요한 액세스 권한을 보여 줍니다.

액세스 권한 보안 설명자 구성 요소
읽기 _ 제어
소유자
주 그룹
DACL (임의 액세스 제어 목록)
_시스템 _ 보안 액세스
SACL (시스템 액세스 제어 목록)

수준 7을 지정 하는 경우 프린터 _ 정보 _ 7dwaction 구성원은 다음 값 중 하나를 반환 하 여 디렉터리 서비스에 프린터가 게시 되었는지 여부를 나타냅니다.

dwAction 값 의미
D 스 프린트 _ 게시 프린터가 게시 됩니다. PszObjectGUID 멤버는 프린터와 연결 된 디렉터리 서비스 인쇄 큐 개체의 GUID를 포함 합니다.
D 스 프린트 _ 게시 취소 프린터가 게시 되어 있지 않습니다.
I 스 프린트 _ 보류 중 시스템이 게시 또는 게시 취소 작업을 완료 하려고 함을 나타냅니다. Setprinter 호출에서 프린터 게시 또는 게시 취소에 실패 하는 경우 시스템은 백그라운드에서 작업을 완료 하려고 추가로 시도 합니다.

Windows Vista 부터는 Hprinter 가 인쇄 서버에서 호스팅하는 프린터를 참조 하 고 인쇄 서버에 대 한 열린 연결이 하나 이상 있는 경우 getprinter 에서 반환 된 프린터 데이터가 로컬 캐시에서 검색 됩니다. 기타 모든 구성에서는 인쇄 서버에서 프린터 데이터를 쿼리 합니다.

요구 사항

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

참고 항목

인쇄

인쇄 스풀러 API 함수

AbortPrinter

Interactivesession.addprinter

ClosePrinter

DeletePrinter

EnumPrinters

프린터 _ 정보 _ 1

프린터 _ 정보 _ 2

프린터 _ 정보 _ 3

프린터 _ 정보 _ 4

프린터 _ 정보 _ 5

프린터 _ 정보 _ 7

프린터 _ 정보 _ 8

프린터 _ 정보 _ 9

OpenPrinter

SetPrinter