次の方法で共有


IPrintCoreHelper::WhyConstrained メソッド (prcomoem.h)

IPrintCoreHelper::WhyConstrained メソッドには、現在の構成で指定された機能とオプションのペアを制限するオプションの一覧が用意されています。

構文

HRESULT WhyConstrained(
  [in]  const DEVMODE              *pDevmode,
  [in]  DWORD                      cbSize,
  [in]  PCSTR                      pszFeatureKeyword,
  [in]  PCSTR                      pszOptionKeyword,
  [out] const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out] DWORD                      *pdwNumOptions
);

パラメーター

[in] pDevmode

DEVMODEW 構造体へのポインター。 このポインターが指定されている場合、IPrintCoreHelper::WhyConstrained は、既定または現在の DEVMODEW 構造体ではなく、pDevmode 指す DEVMODEW 構造体を使用する必要があります。 このメソッドがプラグイン プロバイダーから、または IPrintOemPS::D evMode または IPrintOemUni::D evMode から呼び出される場合は、このパラメーターが必要です。 その他のほとんどの状況では、パラメーターは NULL する必要があります。 コア ドライバーは、pDevmode NULL するように設定すると、渡された DEVMODEW 構造体の状態ではなく、その内部状態を変更します。 これは、DrvDocumentPropertySheetsなど、DDI によって返される DEVMODEW 構造体がコア ドライバーの UI モジュールによって処理される、完全な UI 置換などの操作中に必要です。

[in] cbSize

pDevmode パラメーターが指す DEVMODEW 構造体のサイズ (バイト単位)。

[in] pszFeatureKeyword

フィーチャーの名前を含む ANSI 文字列へのポインター。 機能名は、GPD または PPD ファイルで使用されるキーワードに対応している必要があります。

[in] pszOptionKeyword

オプションの名前を含む ANSI 文字列へのポインター。 オプション名は、GPD または PPD ファイルで使用されるキーワードに対応している必要があります。

[out] ppFOConstraints

PRINT_FEATURE_OPTION 要素の配列へのポインター。 IPrintCoreHelper::WhyConstrained 戻るときに、配列には、pszOptionKeyword パラメーターで指定されているオプションを制限するオプションの機能と要素のペアの一覧が含まれます。

[out] pdwNumOptions

ppFOConstraints パラメーターが指す配列内の特徴とオプションのペアの数を受け取る変数へのポインター。

戻り値

IPrintCoreHelper::WhyConstrained は、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
操作は成功しました。
E_INVALIDARG
1 つ以上の引数が無効であるか、機能がサポートされていません。
E_OUTOFMEMORY
結果配列のメモリを割り当てませんでした。

備考

指定した機能とオプションのペアが制約されていない場合、IPrintCoreHelper::WhyConstrained はS_OKを返しますが、*pdwFOPairs 0 に設定され、*ppFOConstraints[0] が NULL に設定返されます。

このメソッドの結果には、現在選択されているオプションに影響するすべてのオプションが含まれていない場合があることに注意してください。 Unidrv ドライバーの場合、この一覧には、アクティブな制約の各セットから少なくとも 1 つのオプションが含まれます。 ただし、2 つ以上の機能とオプションのペアを一覧表示する無効な組み合わせがある場合は、その組み合わせの 1 つのオプションのみが一覧に含まれます。

必要条件

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

関連項目

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions