IPrintCoreHelperPS::WhyConstrained メソッド (prcomoem.h)
IPrintCoreHelperPS::WhyConstrained メソッドには、現在の構成で指定された機能とオプションのペアを制限するオプションの一覧が用意されています。
構文
HRESULT WhyConstrained(
[in, optional] const DEVMODE *pDevmode,
[in] DWORD cbSize,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[out] const PRINT_FEATURE_OPTION **ppFOConstraints,
[out] DWORD *pdwNumOptions
);
パラメーター
[in, optional] pDevmode
DEVMODEW 構造体へのポインター。 このポインターが指定されている場合、 IPrintCoreHelperPS::WhyConstrained では、既定または現在の DEVMODEW 構造体ではなく 、pDevmode が指す DEVMODEW 構造体を使用する必要があります。 プラグイン プロバイダーまたは IPrintOemPS::D evMode からこのメソッドを呼び出す場合は、このパラメーターが必要です。 その他のほとんどの場合、 パラメーターは NULL にする必要があります。 コア ドライバーは 、pDevmodeを NULL に設定すると、渡された DEVMODEW 構造体の状態ではなく、内部状態を変更します。 これは、 DrvDocumentPropertySheets などの DDI によって返される DEVMODEW 構造体が、コア ドライバーの UI モジュールによって処理される、完全な UI 置換などの操作中に必要です。
[in] cbSize
pDevmode パラメーターによって指される DEVMODEW 構造体のサイズ (バイト単位)。
[in] pszFeatureKeyword
フィーチャーの名前を含む ANSI 文字列へのポインター。 機能名は、PPD ファイルで使用されるキーワード (keyword)に対応している必要があります。
[in] pszOptionKeyword
オプションの名前を含む ANSI 文字列へのポインター。 オプション名は、PPD ファイルで使用されるキーワード (keyword)に対応している必要があります。
[out] ppFOConstraints
PRINT_FEATURE_OPTION要素の配列へのポインター。 IPrintCoreHelperPS::WhyConstrained が返されると、pszOptionKeyword パラメーターで指定されたオプションを制約するオプションの機能要素ペアの一覧が配列に含まれます。
[out] pdwNumOptions
ppFOConstraints パラメーターが指す配列内の特徴オプションペアの数を受け取る変数へのポインター。
戻り値
IPrintCoreHelperPS::WhyConstrained は、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
操作が成功しました。 |
|
1 つ以上の引数が無効であるか、機能がサポートされていません。 |
|
結果配列のメモリを割り当てませんでした。 |
その他のエラーの場合、メソッドは標準の COM エラー コードを返す必要があります。
注釈
指定した機能とオプションのペアが制約されていない場合、 IPrintCoreHelperPS::WhyConstrained はS_OKを返しますが、*pdwFOPairs を 0 に設定し、*ppFOConstraints[0] を NULL に設定して を返します。
このメソッドの結果には、現在選択されているオプションに影響を与えるオプションがすべて含まれていない場合があることに注意してください。 ただし、無効な組み合わせがある場合、その組み合わせのオプションは 1 つだけリストに含まれます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |