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 ファイルで使用されるキーワード (keyword)に対応している必要があります。
[in] pszOptionKeyword
オプションの名前を含む ANSI 文字列へのポインター。 オプション名は、GPD または PPD ファイルで使用されるキーワード (keyword)に対応している必要があります。
[out] ppFOConstraints
PRINT_FEATURE_OPTION要素の配列へのポインター。 IPrintCoreHelper::WhyConstrained が返されると、配列には、pszOptionKeyword パラメーターで指定されたオプションを制約するオプションの機能要素ペアの一覧が含まれます。
[out] pdwNumOptions
ppFOConstraints パラメーターが指す配列内の特徴オプションペアの数を受け取る変数へのポインター。
戻り値
IPrintCoreHelper::WhyConstrained は、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
操作が成功しました。 |
|
1 つ以上の引数が無効であるか、機能がサポートされていません。 |
|
結果配列のメモリを割り当てませんでした。 |
注釈
指定した機能とオプションのペアが制約されていない場合、 IPrintCoreHelper::WhyConstrained はS_OKを返しますが、*pdwFOPairs を 0 に設定し、*ppFOConstraints[0] を NULL に設定して を返します。
このメソッドの結果には、現在選択されているオプションに影響を与えるオプションがすべて含まれていない場合があることに注意してください。 Unidrv ドライバーの場合、この一覧には、アクティブな制約の各セットから少なくとも 1 つのオプションが含まれます。 ただし、2 つ以上の機能とオプションのペアを一覧表示する無効な組み合わせがある場合は、その組み合わせの 1 つのオプションのみが一覧に含まれます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |