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 メンバーは、変更されたオプションを識別します。 コールバック関数は、これらのポインターを、pOEMOptItems と cOEMOptItem 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 を含む) |