IPrintCoreUI2::EnumOptions メソッド (prcomoem.h)

メソッドは IPrintCoreUI2::EnumOptions 、特定の機能の使用可能なオプションを列挙します。

構文

HRESULT EnumOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

パラメーター

[in] poemuiobj

現在のコンテキスト ( OEMUIOBJ 構造体) へのポインター。

[in] dwFlags

は予約済みであり、0 に設定する必要があります。

[in] pszFeatureKeyword

オプションが要求される機能キーワード (keyword)を指定する ASCII 文字列を含む呼び出し元が指定したバッファーへのポインター。

[out] pmszOptionList

pszFeatureKeyword によって指キーワード (keyword)機能のオプション キーワードを含む、MULTI_SZ形式で NULL 区切りリストを受け取る呼び出し元が指定したバッファーへのポインター。 このリストは、2 つの null 文字で終了します。

このパラメーターを NULL に設定すると、リストを入力せずにオプション・リストのサイズ (*pcbNeeded) を照会するだけです。

[in] cbSize

pmszOptionList が指すバッファーのサイズをバイト単位で指定します。

[out] pcbNeeded

オプション リストの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。

戻り値

このメソッドは、次のいずれかの値を返す必要があります。

リターン コード 説明
S_OK
メソッドが成功しました。
E_OUTOFMEMORY
cbSize の値が、出力バッファー (pmszOptionList が指すバッファー) に書き込まれるバイト数よりも小さかった。

pmszOptionListNULL に設定して メソッドが呼び出されました。

E_INVALIDARG
pszFeatureKeyword が指す文字列は、認識された機能ではありません。

poemuiobj パラメーターが無効なコンテキスト オブジェクトを指しています。

E_NOTIMPL
(Pscript のみ)

Pscript5 ドライバー機能は、現在の構成ではサポートされていません。

Pscript5 ドライバー機能は現在の構成でサポートされていますが、Pscript5 ドライバー機能のオプションは列挙できません。

E_FAIL
メソッドが失敗しました

注釈

このメソッドは、Unidrv プラグインではなく、Windows XP Pscript5 プラグインでのみサポートされています。

データ アクセスごとに 2 つの呼び出しを行う必要性を減らすには、メソッドに固定サイズの出力バッファー (たとえば 1 KB) を渡し、関数の戻り値をチェックします。 メソッドがS_OKを返す場合、バッファーには対象のデータが既に含まれています。 メソッドがE_OUTOFMEMORYを返す場合、*pcbNeeded の値は、目的のデータを保持するために必要なバッファー サイズです。 呼び出し元はそのサイズのバッファーを割り当て、メソッドの 2 番目の呼び出しを続行する必要があります。

詳細については、「 EnumOptions の使用」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)

こちらもご覧ください

IPrintCoreUI2

IPrintCoreUI2::EnumFeatures

OEMUIOBJ