다음을 통해 공유


IPrintOemUI::CommonUIProp 메서드(prcomoem.h)

IPrintOemUI::CommonUIProp 메서드를 사용하면 사용자 인터페이스 플러그 인이 기존 프린터 속성 시트 페이지를 수정할 수 있습니다.

구문

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

매개 변수

dwMode

수정해야 하는 속성 시트 페이지를 나타내는 호출자 제공 정수 상수입니다. 다음 상수는 유효합니다.

정의
OEMCUIP_DOCPROP 메서드를 호출하여 문서 속성 시트의 레이아웃, 용지/품질 또는 고급 페이지를 수정합니다.
OEMCUIP_PRNPROP 메서드가 호출되어 프린터 속성 시트의 디바이스 설정 페이지를 수정합니다.

pOemCUIPParam

OEMCUIPPARAM 구조체에 대한 호출자 제공 포인터입니다.

반환 값

메서드는 다음 값 중 하나를 반환해야 합니다.

반환 코드 Description
S_OK
작업에 성공했습니다.
E_FAIL
작업이 실패했습니다.
E_NOTIMPL
메서드가 구현되지 않았습니다.

설명

사용자 인터페이스 플러그 인의 IPrintOemUI::CommonUIProp 메서드가 호출되면 기존 프린터 속성 시트 페이지를 수정하기 위해 사용자 지정된 속성 시트 옵션 항목을 반환해야 합니다.

메서드는 IPrintOemUI::CommonUIProp 프린터 드라이버의 프린터 인터페이스 DLL에 의해 호출 됩니다. 메서드는 옵션 값에 대한 사용자 수정을 처리하기 위한 콜백 함수와 함께 속성 시트 항목을 설명하는 OPTITEM 구조의 배열을 제공해야 합니다.

각 속성 시트에 대해 메서드를 두 번 호출해야 합니다. 메서드의 dwMode 매개 변수 값은 프린터 속성 시트 또는 문서 속성 시트를 변경하기 위해 호출되는지 여부를 나타냅니다.

처음 호출될 때 메서드는 추가할 OPTITEM 구조체 수를 반환해야 합니다. 이 숫자는 OEMCUIPPARAM 구조체의 cOEMOptItems 멤버에 배치해야 합니다. 그런 다음 프린터 인터페이스 DLL은 지정된 수의 OPTITEM을 저장할 수 있는 충분한 메모리를 할당하고 다시 호출 IPrintOemUI::CommonUIProp 합니다.

두 번째로 호출되면 메서드는 IPrintOemUI::CommonUIProp 다음을 수행해야 합니다.

  • 옵션 설명으로 OPTITEM 구조체의 드라이버 제공 배열을 채웁니다. 이 배열은 OEMCUIPPARAM 구조체의 pOEMOptItems 멤버로 가리키며 할당된 배열 요소의 수는 구조체의 cOEMOptItems 멤버에 포함됩니다. (OPTITEM 멤버 값을 지정하는 방법에 대한 자세한 내용은 OEMCUIPPARAM 구조체의 pOEMOptItems 멤버에 대한 설명을 참조하세요.)
  • OEMCUIPPARAM 구조체의 cOEMOptItems 멤버에 숫자를 배치하여 OPTITEM 배열에 추가된 구조체 수를 반환합니다.
  • OEMCUIPPARAM 구조체의 OEMCUIPCallback 멤버에서 콜백 함수의 주소를 반환합니다. 이 콜백 함수는 사용자가 속성 시트 페이지를 수정할 때 호출됩니다. 콜백 함수는 OEMCUIPCALLBACK 형식이어야 합니다.
  • 필요에 따라 OEMCUIPPARAM 구조체의 pOEMUserData 멤버에 배치하여 프라이빗 데이터 구조체의 주소를 반환합니다. 구조체의 OEMCUIPCallback 멤버에 의해 지정된 콜백 함수는 OEMCUIPPARAM 구조체의 주소를 입력 매개 변수로 수신하므로 개인 데이터의 주소를 가져올 수 있습니다.

    OEMCUIPPARAM 구조체의 hOEMHeap 멤버에 포함된 핸들을 사용하여 Microsoft Windows SDK HeapAlloc 함수를 호출하여 프라이빗 데이터 구조의 공간을 할당해야 합니다.

여러 사용자 인터페이스 플러그 인에서 메서드를 내보낼 경우 IPrintOemUI::CommonUIProp 플러그 인이 설치를 위해 지정된 순서대로 메서드가 호출됩니다.

자세한 내용은 Driver-Supplied 속성 시트 페이지 수정을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 prcomoem.h(Prcomoem.h 포함)