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 ファイルで使用されるキーワードに対応している必要があります。
[in] pszOptionKeyword
オプションの名前を含む ANSI 文字列へのポインター。 オプション名は、PPD ファイルで使用されるキーワードに対応している必要があります。
[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 つだけリストに含まれます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | prcomoem.h (Prcomoem.h を含む) |
関連項目
IPrintCoreHelperPS の