次の方法で共有


IPrintOemUI::CommonUIProp メソッド (prcomoem.h)

IPrintOemUI::CommonUIProp メソッドを使用すると、ユーザー インターフェイス プラグインで既存のプリンター プロパティ シート ページを変更できます。

構文

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

パラメーター

dwMode

変更するプロパティ シート ページを示す呼び出し元指定の整数定数。 次の定数が有効です。

価値 定義
OEMCUIP_DOCPROP このメソッドは、ドキュメント プロパティ シートの [レイアウト]、[用紙/品質]、または [詳細設定] ページを変更するために呼び出されています。
OEMCUIP_PRNPROP このメソッドは、プリンター のプロパティ シートの [デバイスの設定] ページを変更するために呼び出されています。

pOemCUIPParam

OEMCUIPPARAM 構造体への呼び出し元指定ポインター。

戻り値

このメソッドは、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
操作は成功しました。
E_FAIL
操作が失敗しました。
E_NOTIMPL
メソッドは実装されていません。

備考

ユーザー インターフェイス プラグインの IPrintOemUI::CommonUIProp メソッドが呼び出されると、既存のプリンター プロパティ シート ページを変更するために、カスタマイズされたプロパティ シート オプション項目を返す必要があります。

IPrintOemUI::CommonUIProp メソッドは、プリンター ドライバーの プリンター インターフェイス DLLによって呼び出されます。 メソッドは、オプション値 ユーザー変更を処理するためのコールバック関数と共に、プロパティ シート項目を記述する OPTITEM 構造体の配列を提供する必要があります。

このメソッドは、プロパティ シートごとに 2 回呼び出されることを想定する必要があります。 メソッドの dwMode パラメーター値は、プリンター プロパティ シートまたはドキュメント プロパティ シートを変更するために呼び出されるかどうかを示します。

メソッドが初めて呼び出されるときは、追加する OPTITEM 構造体の数 返す必要があります。 この番号は、OEMCUIPPARAM 構造体の cOEMOptItems メンバーに配置する必要があります。 その後、プリンター インターフェイス DLL は、指定した数の OPTITEM を格納するのに十分なメモリを割り当て、IPrintOemUI::CommonUIProp 再度呼び出します。

2 回目に呼び出されるときに、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 を含む)