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 メンバーは、変更されたオプションを識別します。 コールバック関数は、これらのポインターを OEMCUIPPARAM 構造体の pOEMOptItems および cOEMOptItem メンバーと共に使用して、変更されたオプションがユーザー インターフェイス プラグインによって所有されるオプションであるかどうかを判断できます。
コールバック関数が呼び出されると、そのカスタマイズされた 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 に戻します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | printoem.h (Printoem.h、Compstui.h を含む) |