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