IPrintCorePS2::GetOptions メソッド (prcomoem.h)
メソッドはIPrintCorePS2::GetOptions
、ドライバーの現在の機能設定を、機能/オプションのキーワード (keyword)ペアの一覧の形式で取得します。
構文
HRESULT GetOptions(
[in] PDEVOBJ pdevobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeaturesRequested,
[in] DWORD cbIn,
[out] PZZSTR pmszFeatureOptionBuf,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
パラメーター
[in] pdevobj
DEVOBJ 構造体へのポインター。
[in] dwFlags
は予約済みであり、0 に設定する必要があります。
[in] pmszFeaturesRequested
設定が要求される機能キーワードの一覧 (MULTI_SZ形式) を含む呼び出し元が指定したバッファーへのポインター。 すべての機能の設定を取得するには、このパラメーターを NULL に設定します。
[in] cbIn
pmszFeaturesRequested が指すバッファーのサイズをバイト単位で指定します。 サイズには、最後のMULTI_SZ null 文字が含まれます。
[out] pmszFeatureOptionBuf
ドライバーの設定から取得した機能/オプションキーワード (keyword)ペアの一覧 (MULTI_SZ形式) を受け取る呼び出し元が指定したバッファーへのポインター。 各機能/オプションキーワード (keyword)ペアには、特徴キーワード (keyword)名、null 文字、オプションキーワード (keyword)名前、および別の null 文字が含まれます。 リストは 2 つの NULL 文字で終了します。
[in] cbSize
pmszFeatureOptionBuf が指すバッファーのサイズをバイト単位で指定します。
[out] pcbNeeded
要求されたデータの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。
戻り値
メソッドは、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
cbSize の値が、出力バッファーに書き込まれるバイト数 (pmszFeatureOptionBuf が指すバッファー) よりも小さかった。
pmszFeatureOptionBuf をNULL に設定して、 メソッドが呼び出されました。 |
|
入力バッファー ( pmszFeaturesRequested が指すバッファー) が提供されましたが、その内容はMULTI_SZ形式ではありません。
pdevobj パラメーターが無効なドライバー コンテキスト オブジェクトを指しています。 |
|
メソッドがサポートされていません。 |
|
メソッドが失敗しました。 |
注釈
このメソッドは、 ドキュメント固定 機能とプリンター固定機能 の両方を サポートします。 これは、コア ドライバーが DrvEnablePDEV 処理を完了し、すべてのオプション設定を設定した後でのみサポートされます。 サポートされていないときに を IPrintCorePS2::GetOptions
呼び出すと、E_NOTIMPLが返されます。 たとえば、コア ドライバーがレンダリング プラグインの IPrintOemPS::EnablePDEV メソッドを呼び出しても、ドライバーは DrvEnablePDEV 処理を引き続き使用するため、プラグインがプラグインの IPrintOemPS::D evMode メソッド内でを呼び出IPrintCorePS2::GetOptions
した場合、プラグインはE_NOTIMPL戻り値を受け取ります。 ただし、コア ドライバーが DrvEnablePDEV 処理を完了すると、プラグインの IPrintOemPS::EnablePDEV メソッドが呼び出されるため、プラグインは IPrintOemPS::EnablePDEV メソッド内で正常に呼び出IPrintCorePS2::GetOptions
されます。
要求された機能キーワード (keyword)が認識されない場合、または機能が認識されていても、その機能に対してオプションが選択されていない場合、その機能は無視され、機能/オプションキーワード (keyword)ペアは出力バッファーに配置されません。
データ アクセスごとに 2 つの呼び出しを行う必要性を減らすには、メソッドに固定サイズの出力バッファー (たとえば 1 KB) を渡し、関数の戻り値をチェックします。 メソッドがS_OKを返す場合、バッファーには対象のデータが既に含まれています。 メソッドがE_OUTOFMEMORYを返す場合、*pcbNeeded の値は、目的のデータを保持するために必要なバッファー サイズです。 呼び出し元はそのサイズのバッファーを割り当て、メソッドの 2 番目の呼び出しを続行する必要があります。
このメソッドは、Pscript5 レンダー プラグインでサポートされています。
詳細については、「 GetOptions と SetOptions の使用」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |