IPrintCorePS2::EnumFeatures メソッド (prcomoem.h)

メソッドは IPrintCorePS2::EnumFeatures 、プリンターの使用可能な機能を列挙します。

構文

HRESULT EnumFeatures(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [out] PZZSTR  pmszFeatureList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

パラメーター

[in] pdevobj

DEVOBJ 構造体へのポインター。

[in] dwFlags

は予約されており、0 に設定する必要があります。

[out] pmszFeatureList

MULTI_SZ形式の特徴キーワードの null で区切られたリストを受け取る、呼び出し元から提供されたバッファーへのポインター。 リストは 2 つの null 文字で終了します。

リストを入力せずに機能リストのサイズ (*pcbNeeded) を照会するには、このパラメーターを NULL に設定します。

[in] cbSize

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

[out] pcbNeeded

要求されたデータの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。

戻り値

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

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

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

E_INVALIDARG
無効なドライバー コンテキスト オブジェクトを指す pdevobj パラメーター。
E_FAIL
メソッドが失敗しました。

注釈

pmszFeatureList が指す出力バッファーに表示される機能キーワード (keyword)一覧には、プリンター固定機能 (インストール可能なメモリやオプションのアクセサリの存在を決定するものなど、 Driver-Supplied プロパティ シート ページの置き換えに関するページを参照) が含まれています。 Pscript5 の場合、このような機能には OpenGroupType 機能属性が "InstallableOptions" に設定されています。

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

このメソッドは、Pscript5 レンダー プラグインでサポートされています。

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

要件

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

こちらもご覧ください

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumOptions