InitializePrintMonitor2 함수(winsplp.h)
인쇄 모니터의 InitializePrintMonitor2 함수는 클러스터형 인쇄 서버에 사용할 인쇄 모니터를 초기화합니다.
구문
LPMONITOR2 InitializePrintMonitor2(
[in] PMONITORINIT pMonitorInit,
[out] PHANDLE phMonitor
);
매개 변수
[in] pMonitorInit
MONITORINIT 구조체에 대한 호출자 제공 포인터입니다.
[out] phMonitor
함수가 모니터 핸들을 반환하는 호출자 제공 위치입니다.
반환 값
작업이 성공하면 함수는 MONITOR2 구조체에 대한 포인터를 반환해야 합니다. 그렇지 않으면 함수가 SetLastError(Microsoft Windows SDK 설명서에 설명됨)를 호출하여 오류 코드를 설정하고 NULL 을 반환해야 합니다.
설명
InitializePrintMonitor2 함수는 언어 모니터 및 포트 모니터 서버 DLL을 통해 내보내야 합니다. 이 함수는 모니터 DLL이 로드된 직후에 호출되며 DLL이 다시 로드될 때까지 다시 호출되지 않습니다. 모니터가 자신을 초기화하고 스풀러에 내부 모니터 함수에 대한 포인터를 제공할 수 있도록 하기 위한 것입니다. 함수 포인터는 MONITOR2 구조체에 포함됩니다.
MONITOR2 구조는 2000년 Windows 보다 Windows XP에서 더 큽 수 있습니다. Windows XP DDK(드라이버 개발 키트)로 개발된 모니터가 Windows XP 및 Windows 2000에 설치되도록 하려면 모니터에서 다음을 수행해야 합니다.
- 런타임 검사를 수행하여 모니터가 실행 중인 운영 체제 버전을 확인합니다.
- 모니터가 Windows 2000에서 실행되는 경우 MONITOR2 구조체의 cbSize 멤버를 이 구조의 Windows 2000 버전에 적합한 크기인 MONITOR2_SIZE_WIN2K(Winsplp.h에 정의됨)로 설정해야 합니다.
다음 함수는 현재 운영 체제 버전이 Windows 2000인지 여부를 결정합니다.
BOOL Is_Win2000()
{
OSVERSIONINFOEX osvi;
DWORDLONG dwlConditionMask = 0;
// Initialize the OSVERSIONINFOEX structure.
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
osvi.dwMajorVersion = 5;
osvi.dwMinorVersion = 0;
// Initialize the condition mask.
VER_SET_CONDITION( dwlConditionMask, VER_MAJORVERSION, VER_EQUAL );
VER_SET_CONDITION( dwlConditionMask, VER_MINORVERSION, VER_EQUAL );
// Perform the test.
return VerifyVersionInfo(
&osvi,
VER_MAJORVERSION | VER_MINORVERSION,
dwlConditionMask);
}
Windows 2000에서 로드하는 모니터의 경우 다음 코드는 MONITOR2 구조체의 cbSize 멤버를 적절하게 설정합니다.
if ( Is_Win2000( ) )
Monitor2.cbSize = MONITOR2_SIZE_WIN2K;
요구 사항
| 대상 플랫폼 | 데스크톱 |
| 헤더 | winsplp.h(Winsplp.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기