다음을 통해 공유


OEMCUIPCALLBACK 콜백 함수(printoem.h)

OEMCUIPCALLBACK 함수 형식은 사용자 인터페이스 플러그 인의 IPrintOemUI::CommonUIProp 메서드에 의해 지정된 콜백 함수를 정의하는 데 사용됩니다. 구조체는 printoem.h에 정의되어 있습니다.

구문

OEMCUIPCALLBACK Oemcuipcallback;

LONG Oemcuipcallback(
  PCPSUICBPARAM unnamedParam1,
  POEMCUIPPARAM unnamedParam2
)
{...}

매개 변수

unnamedParam1

CPSUICBPARAM 구조체에 대한 포인터입니다.

unnamedParam2

OEMCUIPPARAM 구조체에 대한 포인터입니다.

반환 값

다음 설명 섹션을 참조하세요.

설명

IPrintOemUI::CommonUIProp 메서드로 지정된 콜백 함수는 사용자가 프린터 속성 시트를 수정할 때 호출됩니다. 콜백 함수의 목적은 사용자 지정 옵션 항목에 대한 사용자 수정을 처리하는 것입니다.

속성 시트 항목을 수정하면 CPSUI 는 프린터 드라이버의 프린터 인터페이스 DLL을 호출합니다. 이 DLL에는 자체 OPTITEM 구조에 포함된 옵션 값을 처리하는 _CPSUICALLBACK 형식의 고유한 콜백 함수가 포함되어 있습니다. 그런 다음 프린터 인터페이스 DLL의 콜백 함수는 사용자 인터페이스 플러그 인의 콜백 함수를 호출합니다. 여러 사용자 인터페이스 플러그 인이 제공되면 각 플러그 인의 콜백 함수가 차례로 플러그 인이 설치된 순서대로 호출됩니다.

콜백 함수는 CPSUICBPARAM 구조체에 대한 포인터를 받습니다. 구조체의 Reason 멤버는 콜백 함수를 호출한 이벤트를 식별합니다. 또한 함수는 IPrintOemUI::CommonUIProp 메서드가 콜백 함수의 주소를 지정했을 때 사용된 것과 동일한 OEMCUIPPARAM 구조체에 대한 포인터를 받습니다.

CPSUICBPARAM 구조체의 pOptItempCurItem 멤버는 수정된 옵션을 식별합니다. 콜백 함수는 OEMCUIPPARAM 구조체의 pOEMOptItemscOEMOptItem 멤버와 함께 이러한 포인터를 사용하여 수정된 옵션이 사용자 인터페이스 플러그 인이 소유한 옵션인지 확인할 수 있습니다.

콜백 함수가 호출되면 사용자 지정된 OPTITEM 구조체가 지정된 Reason 값의 영향을 받는지 확인해야 합니다. 이 경우 함수는 영향을 받는 옵션을 처리하고 _CPSUICALLBACK 함수 형식 에 대해 설명된 CPSUI_ACTION 접두사 반환 값 중 하나를 반환해야 합니다. 그렇지 않으면 CPSUICB_ACTION_NONE 반환해야 합니다.

콜백 함수 반환 값에는 다음과 같은 추가 규칙이 적용됩니다.

  • Reason에 CPSUICB_REASON_APPLYNOW 포함된 경우 콜백은 CPSUICB_ACTION_ITEMS_APPLIED 또는 CPSUICB_ACTION_NO_APPLY_EXIT 반환해야 합니다. 후자의 경우 프린터 드라이버 인터페이스는 다른 사용자 인터페이스 플러그 인의 콜백 함수를 호출하지 않고 즉시 CPSUI로 돌아갑니다.

  • Reason에 CPSUICB_REASON_APPLYNOW 제외한 값이 포함된 경우 반환 값은 다음 중 하나여야 합니다.

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      이러한 반환 값은 우선 순위를 줄이는 순서대로 나열됩니다. 여러 사용자 인터페이스 플러그 인이 있는 경우 프린터 인터페이스 DLL은 각 사용자의 콜백 함수를 호출하고 우선 순위가 가장 높은 반환 값을 저장하여 CPSUI에 다시 전달합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 printoem.h(Printoem.h, Compstui.h 포함)