DeviceCapabilitiesA 함수(wingdi.h)
DeviceCapabilities 함수는 프린터 드라이버의 기능을 검색합니다.
구문
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *pDevMode
);
매개 변수
[in] pDevice
프린터 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 프린터 드라이버가 아닌 프린터의 이름입니다.
[in] pPort
디바이스가 연결된 포트의 이름(예: LPT1)을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.
[in] fwCapability
쿼리할 기능입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
프린터의 용지함 이름을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 문자열 버퍼의 길이는 24자이며 용지함의 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름 문자열은 이름이 24자 길이가 아니면 null로 종료됩니다. pOutput이 NULL인 경우 반환 값은 필요한 bin 항목의 수입니다. |
|
사용 가능한 용지함 목록을 검색합니다. pOutput 버퍼는 프린터에 사용 가능한 용지 원본을 나타내는 WORD 값 배열을 받습니다. 반환 값은 배열의 항목 수를 나타냅니다. 가능한 배열 값 목록은 DEVMODE 구조체의 dmDefaultSource 멤버에 대한 설명을 참조하세요. pOutput이 NULL인 경우 반환 값은 배열에 필요한 항목 수를 나타냅니다. |
|
프린터에서 정렬을 지원하는 경우 반환 값은 1입니다. 그렇지 않으면 반환 값이 0입니다. pOutput 매개 변수는 사용되지 않습니다. |
|
프린터에서 컬러 인쇄를 지원하는 경우 반환 값은 1입니다. 그렇지 않으면 반환 값이 0입니다. pOutput 매개 변수는 사용되지 않습니다. |
|
디바이스에서 인쇄할 수 있는 복사본 수를 반환합니다. |
|
프린터 드라이버의 버전 번호를 반환합니다. |
|
프린터에서 이중 인쇄를 지원하는 경우 반환 값은 1입니다. 그렇지 않으면 반환 값이 0입니다. pOutput 매개 변수는 사용되지 않습니다. |
|
프린터에서 지원하는 해상도 목록을 검색합니다. pOutput 버퍼는 LONG 값의 배열을 받습니다. 지원되는 각 해상도에 대해 배열에는 해상도의 x 및 y 차원을 인치당 점으로 지정하는 LONG 값 쌍이 포함됩니다. 반환 값은 지원되는 해상도의 수를 나타냅니다. pOutput이 NULL인 경우 반환 값은 지원되는 해상도 수를 나타냅니다. |
|
프린터 드라이버에 대한 DEVMODE 구조체의 디바이스별 부분에 필요한 바이트 수를 반환합니다. |
|
프린터 드라이버 DEVMODE 구조체의 dmFields 멤버를 반환합니다. dmFields 멤버는 프린터 드라이버에서 지원되는 구조체의 디바이스 독립적 부분에 있는 멤버를 나타냅니다. |
|
드라이버가 설치될 때 로드해야 하는 추가 파일의 이름을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 문자열 버퍼의 길이는 64자이며 파일 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름 문자열은 이름이 64자 길이가 아니면 null로 종료됩니다. pOutput이 NULL인 경우 반환 값은 파일 수입니다. |
|
프린터 드라이버 DEVMODE 구조체의 dmPaperLength 및 dmPaperWidth 멤버가 지정할 수 있는 최대 용지 크기를 반환합니다. 반환 값의 LOWORD에는 최대 dmPaperWidth 값이 포함되고 HIWORD에는 최대 dmPaperLength 값이 포함됩니다. |
|
현재 사용할 수 있는 용지 양식의 이름을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 문자열 버퍼의 길이는 64자이며 용지 양식의 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름 문자열은 이름이 64자 길이가 아니면 null로 종료됩니다. pOutput이 NULL인 경우 반환 값은 용지 양식의 수입니다. |
|
지원되는 미디어 형식의 이름을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 문자열 버퍼의 길이는 64자이며 지원되는 미디어 형식의 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름이 64자인 경우가 아니면 문자열은 null로 종료됩니다. pOutput이 NULL인 경우 반환 값은 필요한 미디어 형식 이름의 수입니다. |
|
지원되는 미디어 유형의 목록을 검색합니다. pOutput 버퍼는 지원되는 미디어 유형을 나타내는 DWORD 값 배열을 받습니다. 반환 값은 배열의 항목 수를 나타냅니다. 가능한 배열 값 목록은 DEVMODE 구조체의 dmMediaType 멤버에 대한 설명을 참조하세요. pOutput이 NULL인 경우 반환 값은 배열에 필요한 항목 수를 나타냅니다. |
|
프린터 드라이버 DEVMODE 구조체의 dmPaperLength 및 dmPaperWidth 멤버가 지정할 수 있는 최소 용지 크기를 반환합니다. 반환 값의 LOWORD에는 최소 dmPaperWidth 값이 포함되고 HIWORD에는 최소 dmPaperLength 값이 포함됩니다. |
|
가로 방향을 생성하기 위해 세로 방향이 시계 반대 방향으로 회전되는 각도의 측면에서 디바이스의 세로 방향과 가로 방향 간의 관계를 반환합니다. 반환 값은 다음 중 하나일 수 있습니다.
|
|
인쇄된 페이지당 여러 문서 페이지를 인쇄하는 프린터의 기능을 나타내는 정수 배열을 검색합니다. pOutput 버퍼는 DWORD 값의 배열을 받습니다. 각 값은 인쇄된 페이지당 지원되는 문서 페이지 수를 나타냅니다. 반환 값은 배열의 항목 수를 나타냅니다. pOutput이 NULL인 경우 반환 값은 배열에 필요한 항목 수를 나타냅니다. |
|
지원되는 용지 이름 목록(예: Letter 또는 Legal)을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 문자열 버퍼의 길이는 64자이며 용지 양식의 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름 문자열은 이름이 64자인 경우가 아니면 null로 종료됩니다. pOutput이 NULL이면 반환 값은 용지 양식의 수입니다. |
|
지원되는 용지 크기 목록을 검색합니다. pOutput 버퍼는 프린터에 사용 가능한 용지 크기를 나타내는 WORD 값 배열을 받습니다. 반환 값은 배열의 항목 수를 나타냅니다. 가능한 배열 값 목록은 DEVMODE 구조체의 dmPaperSize 멤버에 대한 설명을 참조하세요. pOutput이 NULL인 경우 반환 값은 배열에 필요한 항목 수를 나타냅니다. |
|
지원되는 각 용지 크기의 크기(밀리미터의 10분의 1)를 검색합니다. pOutput 버퍼는 POINT 구조의 배열을 받습니다. 각 구조체에는 용지가 DMORIENT_PORTRAIT 방향에 있는 것처럼 용지 크기의 너비(x차원) 및 길이(y차원) 가 포함됩니다. 반환 값은 배열의 항목 수를 나타냅니다. |
|
프린터에서 지원하는 프린터 설명 언어 목록을 검색합니다. pOutput 버퍼는 문자열 버퍼 배열을 받습니다. 각 버퍼의 길이는 32자이며 프린터 설명 언어의 이름을 포함합니다. 반환 값은 배열의 항목 수를 나타냅니다. 이름 문자열은 이름이 32자인 경우가 아니면 null로 종료됩니다. pOutput이 NULL인 경우 반환 값은 필요한 배열 항목 수를 나타냅니다. |
|
반환 값은 사용 가능한 프린터 메모리 양(킬로바이트)입니다. pOutput 매개 변수는 사용되지 않습니다. |
|
반환 값은 프린터의 인쇄 속도를 나타냅니다. DC_PRINTRATEUNIT 반환된 값은 DC_PRINTRATE 값의 단위를 나타냅니다. pOutput 매개 변수는 사용되지 않습니다. |
|
반환 값은 프린터의 인쇄 속도를 분당 페이지 단위로 나타냅니다. pOutput 매개 변수는 사용되지 않습니다. |
|
반환 값은 DC_PRINTRATE 플래그에 대해 반환된 값의 인쇄 속도 단위를 나타내는 다음 값 중 하나입니다.
pOutput 매개 변수는 사용되지 않습니다.
|
|
프린터 드라이버 DEVMODE 구조체의 dmSize 멤버를 반환합니다. |
|
프린터에서 스테이플링을 지원하는 경우 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값이 0입니다. pOutput 매개 변수는 사용되지 않습니다. |
|
TrueType 글꼴을 사용하는 드라이버의 기능을 검색합니다.
DC_TRUETYPEpOutput 매개 변수는 NULL이어야 합니다. 반환 값은 다음 중 하나 이상일 수 있습니다.
|
|
프린터 드라이버가 준수하는 사양 버전을 반환합니다. |
[out] pOutput
배열에 대한 포인터입니다. 배열의 형식은 fwCapability 매개 변수의 설정에 따라 달라집니다. pOutput이 NULL인 경우 반환되는 항목을 확인하려면 위의 각 기능을 참조하세요.
[in] pDevMode
DEVMODE 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 DeviceCapabilities 는 지정된 프린터 드라이버에 대한 현재 기본 초기화 값을 검색합니다. 그렇지 않으면 함수는 pDevMode 가 가리키는 구조체에 포함된 값을 검색합니다.
반환 값
함수가 성공하면 반환 값은 fwCapability 매개 변수의 설정에 따라 달라집니다. 반환 값이 0이면 일반적으로 함수가 성공적으로 완료되었지만 지원되지 않는 기능과 같은 일부 유형의 오류가 발생했음을 나타냅니다. 자세한 내용은 fwCapability 값에 대한 설명을 참조하세요.
함수가 -1을 반환하는 경우 이는 기능이 지원되지 않거나 일반적인 함수 오류가 발생했음을 의미할 수 있습니다.
설명
프린터 드라이버가 사용자 지정 디바이스 기능을 지원하는 경우 드라이버는 각 사용자 지정 기능에 대해 SetPrinterData 함수를 호출해야 합니다. SetPrinterData 함수는 인쇄 시스템에 적절한 프린터 데이터를 추가하여 32비트 애플리케이션이 64비트 Windows 설치에서 사용자 지정 기능에 액세스할 수 있도록 합니다.
각 사용자 지정 기능에 대해 먼저 기능 유형을 설명하는 프린터 데이터를 추가해야 합니다. 이렇게 하려면 SetPrinterData를 호출할 때 pValueName 문자열을 CustomDeviceCapabilityType_Xxx 설정합니다. 여기서 "Xxx"는 기능의 16진수 표현입니다. 예를 들어 "CustomDeviceCapabilityType_1234"이 있을 수 있습니다. 설정한 레지스트리 데이터는 REG_DWORD 형식이어야 하며 해당 값을 다음 중 하나로 설정해야 합니다.
- 사용자 지정 기능이 DWORD인 경우 0
- 1, 사용자 지정 기능이 바이트 버퍼인 경우
- 2, 사용자 지정 기능이 항목 배열인 경우
참고
wingdi.h 헤더는 DEVICECapabilities를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | WinSpool.lib |
DLL | WinSpool.drv |