次の方法で共有


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 構造体の pOptItem と pCurItem メンバーは、変更されたオプションを識別します。 コールバック関数は、これらのポインターを、pOEMOptItemscOEMOptItem OEMCUIPPARAM 構造体のメンバーと共に使用して、変更されたオプションがユーザー インターフェイス プラグインによって所有されているかどうかを判断できます。

コールバック関数が呼び出されると、そのカスタマイズされた OPTITEM 構造体のいずれかが、指定された Reason 値の影響を受けるかどうかを判断する必要があります。 その場合、関数は影響を受けるオプションを処理し、_CPSUICALLBACK 関数型に関して説明されているCPSUI_ACTIONプレフィックス付きの戻り値のいずれかを返す必要があります。 それ以外の場合は、CPSUICB_ACTION_NONEを返す必要があります。

コールバック関数の戻り値には、次の追加規則が適用されます。

  • 理由 CPSUICB_REASON_APPLYNOWが含まれている場合、コールバックはCPSUICB_ACTION_ITEMS_APPLIEDまたはCPSUICB_ACTION_NO_APPLY_EXITを返す必要があります。 後者の場合、プリンター ドライバー インターフェイスは、他のユーザー インターフェイス プラグインのコールバック関数を呼び出さずにすぐに CPSUI に戻ります。

  • 理由 CPSUICB_REASON_APPLYNOW以外の値が含まれている場合、戻り値は次のいずれかである必要があります。

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      これらの戻り値は、優先順位を下げる順に一覧表示されます。 複数のユーザー インターフェイス プラグインが存在する場合、プリンター インターフェイス DLL は各コールバック関数を呼び出し、最も優先度の高い戻り値を保存して CPSUI に戻します。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー printoem.h (Printoem.h、Compstui.h を含む)