Get프린터 데이터 함수

Get프린터 데이터 함수는 지정 된 프린터나 인쇄 서버에 대 한 구성 데이터를 검색 합니다.

Windows 2000 이상 버전에서 Get프린터 데이터 를 호출 하는 것은 pkeyname 매개 변수를 "PrinterDriverData"로 설정 하 여 get\dataex 를 호출 하는 것과 같습니다.

구문

DWORD GetPrinterData(
  _In_  HANDLE  hPrinter,
  _In_  LPTSTR  pValueName,
  _Out_ LPDWORD pType,
  _Out_ LPBYTE  pData,
  _In_  DWORD   nSize,
  _Out_ LPDWORD pcbNeeded
);

매개 변수

Hprinter [ 진행]

함수가 구성 데이터를 검색 하는 프린터나 인쇄 서버에 대 한 핸들입니다. Openprinter, OpenPrinter2또는 addprinter 함수를 사용 하 여 프린터 핸들을 검색 합니다.

Pvaluename [ 진행]

검색할 데이터를 식별 하는 null로 끝나는 문자열에 대 한 포인터입니다.

프린터의 경우이 문자열은 레지스트리의 프린터 "PrinterDriverData" 키 아래에 있는 레지스트리 값의 이름입니다.

인쇄 서버에서이 문자열은 다음 설명 섹션에 나열 된 미리 정의 된 문자열 중 하나입니다.

Ptype [ 제한이]

.Pdata 에서 검색 된 데이터의 형식을 나타내는 값을 받는 변수에 대 한 포인터입니다. 함수는 데이터를 저장 하는 Set프린터 데이터 또는 Set\dataex 호출에 지정 된 형식을 반환 합니다. 데이터 형식이 필요 하지 않은 경우이 매개 변수를 NULL 로 설정 합니다.

.pdata [ 제한이]

구성 데이터를 받는 버퍼에 대 한 포인터입니다.

nSize [ 진행]

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

Pcbneeded [ 제한이]

구성 데이터의 크기 (바이트)를 받는 변수에 대 한 포인터입니다. NSize 로 지정 된 버퍼 크기가 너무 작은 경우 함수는 오류 _ 추가 _ 데이터 를 반환 하 고 pcbneeded 는 필요한 버퍼 크기를 나타냅니다.

반환 값

함수가 성공 하면 반환 값은 오류 _ 성공 입니다. 함수가 실패 하면 반환 값은 오류 값입니다.

설명

참고

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

Get프린터 데이터Setprinterdataex 또는 setdatdata 함수로 설정 된 프린터 구성 데이터를 검색 합니다.

Get프린터 데이터 는 레지스트리에 쓸 수 있는 GetPrinterDataFromPort에 대 한 Windows 호출을 트리거할 수 있습니다. 이 경우 프린터가 네트워크에서 공유 되는 경우 클라이언트에서 업데이트 또는 업그레이드 프린터 이벤트 ID 20을 트리거하는 등의 부작용이 발생할 수 있습니다.

Hprinter 가 인쇄 서버에 대 한 핸들 인 경우 pvaluename 은 다음의 미리 정의 된 값 중 하나를 지정할 수 있습니다.

주석
SPLREG _ 허용 _ 사용자 _ MANAGEFORMS Windows XP SP2 (서비스 팩 2) 이상
Windows Server 2003 SP1 (서비스 팩 1) 이상
SPLREG _ 아키텍처
SPLREG _ 경고음 _ 사용
SPLREG _ 기본 _ 스풀 _ 디렉터리
SPLREG _ DNS _ 컴퓨터 _ 이름
SPLREG _ DS _ 표시 반환이 성공적 이면 .pdata 는 컴퓨터가 DS 도메인에 있는 경우 0x0001를 포함 하 고 그렇지 않으면 0을 포함 합니다.
_ _ _ 사용자에 대 한 SPLREG DS 제공 _ 반환이 성공적 이면 .pdata 에 사용자가 DS 도메인에 로그온 한 경우 0x0001이 포함 되 고 그렇지 않으면 0이 포함 됩니다.
SPLREG _ 이벤트 _ 로그
SPLREG _ 주 _ 버전
SPLREG _ 부 _ 버전
SPLREG _ NET _ POPUP Windows Server 2003 이상에서 지원 되지 않음
_ _ _ 컴퓨터에 NET POPUP _ SPLREG 반환이 성공적 이면 .pdata 는 클라이언트 컴퓨터에 작업 알림을 보내야 하는 경우 1을 포함 하 고, 작업 알림을 사용자에 게 보내려면 0을 포함 합니다.
Windows Server 2003 이상에서 지원 되지 않음
SPLREG _ OS _ 버전 Windows XP 이상
SPLREG _ OS _ VERSIONEX
SPLREG _ 포트 _ 스레드 _ 우선 순위 _ 기본값
SPLREG _ PORT _ 스레드 _ 우선 순위
SPLREG _ 인쇄 _ 드라이버 _ 격리 _ 그룹 Windows 7 이상
_ _ 재생 전 SPLREG 인쇄 드라이버 _ 격리 _ 시간 _ _ Windows 7 이상
SPLREG _ 인쇄 _ 드라이버 _ 격리 _ 최대 _ 개체 _ _ 재생 Windows 7 이상
SPLREG _ 인쇄 _ 드라이버 _ 격리 _ 유휴 _ 시간 제한 Windows 7 이상
SPLREG _ 인쇄 _ 드라이버 _ 격리 _ 실행 _ 정책 Windows 7 이상
SPLREG _ 인쇄 _ 드라이버 _ 격리 _ 재정의 _ 정책 Windows 7 이상
SPLREG _ 원격 _ 팩스 반환이 성공적 이면 .pdata 는 팩스 서비스에서 원격 클라이언트를 지 원하는 경우 0x0001를 포함 하 고 그렇지 않으면 0을 포함 합니다.
SPLREG _ 다시 시도 _ 팝업 반환이 성공적 이면 .pdata 는 모든 작업에 대해 서버를 다시 시도 하도록 설정 된 경우 1을 포함 하 고, 모든 작업에 대해 서버에서 팝업 창을 다시 시도 하지 않는 경우 0을 포함 합니다.
Windows Server 2003 이상에서 지원 되지 않음
SPLREG _ SCHEDULER _ 스레드 _ 우선 순위
SPLREG _ SCHEDULER _ 스레드 _ 우선 순위 _ 기본값
SPLREG _ WEBSHAREMGMT Windows Server 2003 이상

다음 Pvaluename 값은 오류가 발생할 때 풀 인쇄 동작을 표시 합니다.

주석
SPLREG _ _ 풀에서 작업 다시 시작 _ _ _ 오류 .Pdata 값은 오류가 발생 한 후에 다른 포트에서 작업을 다시 시작 하는 시간 (초)을 나타냅니다. 이 설정은 _ _ _ _ 풀 _ 사용에 대 한 SPLREG 다시 시작 작업 에 사용 됩니다.
_ _ _ 풀에 대 한 SPLREG 작업 다시 시작 _ _ 사용 .Pdata 의 0이 아닌 값은 SPLREG _ 다시 _ 시작 _ 작업이 _ 풀 _ 에 대해 사용 하도록 설정 되어 있음을 나타냅니다.

_ _ _ 풀에 대 한 SPLREG 작업 다시 시작 _ _ 오류 에 지정 된 시간이 최소 시간입니다. 이 레지스트리 키의 레지스트리 값인 다음 포트 모니터 설정에 따라 실제 시간이 길어질 수 있습니다.

HKLM \ 시스템 \ CurrentControlSet \ 컨트롤 \ 인쇄 \ 모니터 \ < monitorname > \ 포트

Regqueryvalueex가 함수를 호출 하 여 이러한 값을 쿼리 합니다.

포트 모니터 설정 데이터 형식 의미
StatusUpdateEnabled REG _ DWORD 0이 아닌 값을 사용 하면 포트 모니터에서 포트 상태를 사용 하 여 스풀러를 업데이트할 수 있습니다.
StatusUpdateInterval REG _ DWORD 포트 모니터에서 포트 상태를 사용 하 여 스풀러를 업데이트 하는 간격 (분)을 지정 합니다.

Windows 7 이상 버전에서 인쇄 서버로 전송 된 인쇄 작업은 기본적으로 클라이언트에서 렌더링 됩니다. 다음 값은 인쇄 작업의 클라이언트 쪽 렌더링을 구성 하 고 Pvaluename 에서 다음 값을 설정 하는 경우 읽을 수 있습니다.

설정 데이터 형식 Description
EMFDespoolingSetting REG _ DWORD 값이 0 이거나 레지스트리에이 값이 없는 경우는 인쇄 작업의 기본 클라이언트 쪽 렌더링을 사용 하도록 설정 합니다.
값 1은 인쇄 작업의 클라이언트 쪽 렌더링을 사용 하지 않도록 설정 합니다.
ForceClientSideRendering REG _ DWORD 값이 0 이거나 레지스트리에이 값이 없는 경우에는 인쇄 작업이 클라이언트에서 렌더링 됩니다. 인쇄 작업이 클라이언트에서 렌더링 될 수 없는 경우 서버에서 렌더링 됩니다. 서버에서 인쇄 작업을 렌더링할 수 없으면 오류가 발생 합니다.
값 1은 클라이언트에서 인쇄 작업을 렌더링 합니다. 클라이언트에서 인쇄 작업을 렌더링할 수 없는 경우에는 실패 합니다.

요구 사항

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

참고 항목

인쇄

인쇄 스풀러 API 함수

Get프린터 Dataex

OpenPrinter

SetPrinter

Set프린터 데이터

Set프린터 Dataex

PRINTPROCESSOR _ CAPS _ 1