IPrintCoreUI2::EnumConstrainedOptions メソッド (prcomoem.h)
メソッドは IPrintCoreUI2::EnumConstrainedOptions
、制約される機能のオプションを決定します。
構文
HRESULT EnumConstrainedOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[out] PZZSTR pmszConstrainedOptionList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
パラメーター
[in] poemuiobj
現在のコンテキスト ( OEMUIOBJ 構造体) へのポインター。
[in] dwFlags
は予約されており、0 に設定する必要があります。
[in] pszFeatureKeyword
呼び出し元に関心のある単一の機能キーワード (keyword)を含む呼び出し元が指定したバッファーへのポインター。
[out] pmszConstrainedOptionList
この機能のオプション キーワードの一覧を受け取る呼び出し元指定バッファーへのポインター MULTI_SZ形式。 各キーワード (keyword)は、現在の構成で制約されているオプションを表します。
リストを入力せずに制約付きオプション・リストのサイズ (*pcbNeeded) を照会するには、このパラメーターを NULL に設定します。
[in] cbSize
pmszConstrainedOptionList が指すバッファーのサイズをバイト単位で指定します。
[out] pcbNeeded
制約付きオプション リストの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。
戻り値
このメソッドは、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 このメソッドは、機能のオプションが制約されていない場合にもこの値を返す必要があります。 この場合、メソッドは pmszConstrainedOptionList が指すバッファーに 1 つの null 文字を配置し、**pcbNeeded* を 1 に設定する必要があります。 |
|
cbSize の値が、出力バッファーに書き込まれるバイト数 (pmszConstrainedOptionList が指すバッファー) よりも小さくなっています。
pmszConstrainedOptionList を NULL に設定してメソッドが呼び出されました。 |
|
pszFeatureKeyword が指す文字列は、認識された機能ではありません。
無効なコンテキスト オブジェクトを指す poemuiobj パラメーター。 機能の持続性が 、peomuiobj が指すコンテキスト オブジェクトの持続性と一致しませんでした。 (「 プロパティ シート ページ Driver-Supplied 置き換える」を参照してください)。 |
|
メソッドが失敗しました。 |
|
メソッドがサポートされていません。 |
注釈
このメソッドは、コア ドライバーの標準 UI ページを完全に置き換える Windows XP Pscript5 UI プラグインでのみサポートされ、UI プラグインの IPrintOemUI::D ocumentPropertySheets および IPrintOemUI::D evicePropertySheets 関数とそのプロパティ シート コールバック ルーチンの間にのみサポートされます。 詳細については、「 プロパティ シート ページ Driver-Supplied 置き換える 」を参照してください。
データ アクセスごとに 2 つの呼び出しを行う必要性を減らすには、メソッドに固定サイズ (1 KB など) の出力バッファーを渡し、関数の戻り値をチェックします。 メソッドがS_OKを返す場合、バッファーには既に目的のデータが含まれています。 メソッドがE_OUTOFMEMORYを返す場合、*pcbNeeded の値は目的のデータを保持するために必要なバッファー サイズです。 呼び出し元は、その大きなサイズのバッファーを割り当て、メソッドの 2 回目の呼び出しを続行する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |
こちらもご覧ください
IPrintOemUI::D evicePropertySheets