PRINTER_INFO_2 구조체

PRINTER_INFO_2 구조체는 자세한 프린터 정보를 지정합니다.

구문

typedef struct _PRINTER_INFO_2 {
  LPTSTR               pServerName;
  LPTSTR               pPrinterName;
  LPTSTR               pShareName;
  LPTSTR               pPortName;
  LPTSTR               pDriverName;
  LPTSTR               pComment;
  LPTSTR               pLocation;
  LPDEVMODE            pDevMode;
  LPTSTR               pSepFile;
  LPTSTR               pPrintProcessor;
  LPTSTR               pDatatype;
  LPTSTR               pParameters;
  PSECURITY_DESCRIPTOR pSecurityDescriptor;
  DWORD                Attributes;
  DWORD                Priority;
  DWORD                DefaultPriority;
  DWORD                StartTime;
  DWORD                UntilTime;
  DWORD                Status;
  DWORD                cJobs;
  DWORD                AveragePPM;
} PRINTER_INFO_2, *PPRINTER_INFO_2;

멤버

pServerName

프린터를 제어하는 서버를 식별하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열이 NULL이면 프린터가 로컬로 제어됩니다.

pPrinterName

프린터의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

pShareName

프린터의 공유 지점을 식별하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 attributes 멤버에 대해 PRINTER_ATTRIBUTE_SHARED 상수를 설정한 경우에만 사용됩니다.

pPortName

프린터로 데이터를 전송하는 데 사용되는 포트를 식별하는 null로 끝나는 문자열에 대한 포인터입니다. 프린터가 둘 이상의 포트에 연결된 경우 각 포트의 이름은 쉼표(예: "LPT1:,LPT2:,LPT3:")로 구분되어야 합니다.

pDriverName

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

pComment

프린터에 대한 간략한 설명을 제공하는 null로 끝나는 문자열에 대한 포인터입니다.

pLocation

프린터의 실제 위치(예: "Bldg. 38, Room 1164")를 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

pDevMode

용지 방향 및 해상도와 같은 기본 프린터 데이터를 정의하는 DEVMODE 구조체에 대한 포인터입니다.

pSepFile

구분 기호 페이지를 만드는 데 사용되는 파일의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 페이지는 프린터로 전송된 인쇄 작업을 구분하는 데 사용됩니다.

pPrintProcessor

프린터에서 사용하는 인쇄 프로세서의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. EnumPrintProcessors 함수를 사용하여 서버에 설치된 인쇄 프로세서 목록을 가져올 수 있습니다.

pDatatype

인쇄 작업을 기록하는 데 사용되는 데이터 형식을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. EnumPrintProcessorDatatypes 함수를 사용하여 특정 인쇄 프로세서에서 지원하는 데이터 형식 목록을 가져올 수 있습니다.

pParameters

기본 인쇄 프로세서 매개 변수를 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

pSecurityDescriptor

프린터의 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다. 이 멤버는 NULL일 수 있습니다.

특성

프린터 특성입니다. 이 멤버는 다음 값의 적절한 조합일 수 있습니다.

의미
PRINTER_ATTRIBUTE_DIRECT 작업은 프린터로 직접 전송됩니다(스풀되지 않음).
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST print-while-spooling에 대해 설정되고 프린터가 설정된 경우 스풀링을 완료한 모든 작업은 스풀링을 완료하지 않은 작업 전에 인쇄하도록 예약됩니다.
PRINTER_ATTRIBUTE_ENABLE_DEVQ 설정된 경우 DevQueryPrint 가 호출됩니다. 문서 및 프린터 설정이 일치하지 않으면 DevQueryPrint가 실패할 수 있습니다. 이 플래그를 설정하면 일치하지 않는 문서가 큐에 보관됩니다.
PRINTER_ATTRIBUTE_HIDDEN 예약되어 있습니다.
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 설정되면 작업이 인쇄된 후에 유지됩니다. 설정되지 않으면 작업이 삭제됩니다.
PRINTER_ATTRIBUTE_LOCAL 프린터는 로컬 프린터입니다.
PRINTER_ATTRIBUTE_NETWORK 프린터는 네트워크 프린터 연결입니다.
PRINTER_ATTRIBUTE_PUBLISHED 프린터가 디렉터리 서비스에 게시되는지 여부를 나타냅니다.
PRINTER_ATTRIBUTE_QUEUED 설정하면 프린터가 스풀되고 마지막 페이지가 스풀된 후 인쇄가 시작됩니다. 설정되지 않고 PRINTER_ATTRIBUTE_DIRECT 설정되지 않은 경우 스풀링하는 동안 프린터가 스풀링되고 인쇄됩니다.
PRINTER_ATTRIBUTE_RAW_ONLY 원시 데이터 형식 인쇄 작업만 스풀될 수 있음을 나타냅니다.
PRINTER_ATTRIBUTE_SHARED 프린터가 공유됩니다.

Windows XP 이상 버전의 Windows에서도 다음 값을 사용할 수 있습니다.

의미
PRINTER_ATTRIBUTE_FAX 설정된 경우 프린터는 팩스 프린터입니다. AddPrinter에서만 설정할 수 있지만 EnumPrintersGetPrinter에서 검색할 수 있습니다.

Windows Vista 이상 버전의 Windows에서도 다음 값을 사용할 수 있습니다.

의미
PRINTER_ATTRIBUTE_FRIENDLY_NAME 컴퓨터가 이 프린터에 연결되어 있고 이름을 지정했습니다.
PRINTER_ATTRIBUTE_MACHINE 프린터는 컴퓨터당 연결입니다.
PRINTER_ATTRIBUTE_PUSHED_USER 프린터 연결 푸시 사용자 정책을 사용하여 프린터를 설치했습니다.
PRINTER_ATTRIBUTE_PUSHED_MACHINE 프린터 연결 푸시 컴퓨터 정책을 사용하여 프린터를 설치했습니다.

Windows Server 2003에서는 다음 값을 사용할 수도 있습니다.

의미
PRINTER_ATTRIBUTE_TS 프린터가 현재 터미널 서버를 통해 연결되어 있음을 나타냅니다.

우선 순위

스풀러가 인쇄 작업을 라우팅하는 데 사용하는 우선 순위 값입니다.

DefaultPriority

각 인쇄 작업에 할당된 기본 우선 순위 값입니다.

StartTime

프린터가 작업을 인쇄하는 가장 이른 시간입니다. 이 값은 오전 12:00 GMT(그리니치 표준시) 이후 경과된 분으로 표시됩니다.

UntilTime

프린터가 작업을 인쇄할 최신 시간입니다. 이 값은 오전 12:00 GMT(그리니치 평균 시간) 이후 경과된 분으로 표시됩니다.

상태

프린터 상태. 이 멤버는 다음 값의 합당한 조합일 수 있습니다.

의미
PRINTER_STATUS_BUSY 프린터가 사용 중입니다.
PRINTER_STATUS_DOOR_OPEN 프린터 문이 열려 있습니다.
PRINTER_STATUS_ERROR 프린터가 오류 상태에 있습니다.
PRINTER_STATUS_INITIALIZING 프린터가 초기화되는 중입니다.
PRINTER_STATUS_IO_ACTIVE 프린터가 활성 입력/출력 상태입니다.
PRINTER_STATUS_MANUAL_FEED 프린터가 수동 피드 상태입니다.
PRINTER_STATUS_NO_TONER 프린터의 토너가 떨어졌습니다.
PRINTER_STATUS_NOT_AVAILABLE 프린터를 인쇄할 수 없습니다.
PRINTER_STATUS_OFFLINE 프린터가 오프라인 상태입니다.
PRINTER_STATUS_OUT_OF_MEMORY 프린터의 메모리가 부족합니다.
PRINTER_STATUS_OUTPUT_BIN_FULL 프린터의 출력함이 꽉 찼습니다.
PRINTER_STATUS_PAGE_PUNT 프린터에서 현재 페이지를 인쇄할 수 없습니다.
PRINTER_STATUS_PAPER_JAM 프린터에 용지가 걸려 있습니다.
PRINTER_STATUS_PAPER_OUT 프린터에 용지가 없습니다.
PRINTER_STATUS_PAPER_PROBLEM 프린터에 용지 문제가 있습니다.
PRINTER_STATUS_PAUSED 프린터가 일시 중지되었습니다.
PRINTER_STATUS_PENDING_DELETION 프린터가 삭제되고 있습니다.
PRINTER_STATUS_POWER_SAVE 프린터가 절전 모드에 있습니다.
PRINTER_STATUS_PRINTING 프린터가 인쇄되고 있습니다.
PRINTER_STATUS_PROCESSING 프린터가 인쇄 작업을 처리하고 있습니다.
PRINTER_STATUS_SERVER_UNKNOWN 프린터 상태 알 수 없습니다.
PRINTER_STATUS_TONER_LOW 프린터가 토너가 부족합니다.
PRINTER_STATUS_USER_INTERVENTION 프린터에 사용자가 작업을 수행해야 하는 오류가 있습니다.
PRINTER_STATUS_WAITING 프린터가 대기 중입니다.
PRINTER_STATUS_WARMING_UP 프린터가 예열 중입니다.

cJobs

프린터에 대해 큐에 대기된 인쇄 작업 수입니다.

AveragePPM

프린터에 인쇄된 분당 평균 페이지 수입니다.

요구 사항

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

추가 정보

인쇄

스풀러 API 구조 인쇄

Devmode

EnumPrinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR