次の方法で共有


IPrintCoreHelper::GetOption メソッド (prcomoem.h)

IPrintCoreHelper::GetOption メソッドは、特定の機能に対して指定されたオプションを取得します。

構文

HRESULT GetOption(
  [in]  const DEVMODE *pDevmode,
  [in]  DWORD         cbSize,
  [in]  PCSTR         pszFeatureRequested,
  [out] PCSTR         *ppszOption
);

パラメーター

[in] pDevmode

DEVMODEW 構造体へのポインター。 このポインターが指定されている場合、IPrintCoreHelper::GetOption は、既定または現在の DEVMODEW 構造体ではなく、pDevmode 指す DEVMODEW 構造体を使用する必要があります。 このメソッドがプラグイン プロバイダーから、または IPrintOemPS::D evMode または IPrintOemUni::D evMode から呼び出される場合は、このパラメーターが必要です。 その他のほとんどの状況では、パラメーターは NULL する必要があります。 コア ドライバーは、pDevmode NULL するように設定すると、渡された DEVMODEW 構造体の状態ではなく、その内部状態を変更します。 これは、DrvDocumentPropertySheetsなど、DDI によって返される DEVMODEW 構造体がコア ドライバーの UI モジュールによって処理される、完全な UI 置換などの操作中に必要です。

[in] cbSize

pDevmode パラメーターが指す DEVMODEW 構造体のサイズ (バイト単位)。

[in] pszFeatureRequested

GPD ファイルに表示される機能の名前を含む ANSI 文字列へのポインター。

[out] ppszOption

ANSI 文字列のアドレスを含む変数へのポインター。 IPrintCoreHelper::GetOption 戻るときに、構成ファイルに表示される現在選択されているオプションのキーワードを文字列に含める必要があります。 呼び出し元はこの文字列を変更しないでください。また、この文字列に関連付けられているメモリを解放しないでください。

戻り値

IPrintCoreHelper::GetOption は、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
メソッドは、指定された機能のオプションを読み取る。
E_FAIL
呼び出し元が、無効な要求になった情報を提供しました。 たとえば、要求された機能は存在しません。
E_INVALIDARG
引数が無効でした。 この値は、機能がサポートされていないか、機能に対して要求されたオプションが多すぎることを意味する可能性があります。
E_OUTOFMEMORY
メモリ不足のため、コア ドライバーは要求に対応できませんでした。
E_UNEXPECTED、またはここに記載されていないその他のリターン コード
コア ドライバーが無効な状態にあるようです。 呼び出し元はエラー コードを返す必要があります。

備考

IPrintCoreHelper::GetOption は、複数のオプションを同時に設定できる機能には使用できません。

特徴キーワードは、GPD ファイルと PPD ファイルで定義されているとおりです。 さらに、Unidrv ドライバーと Pscript5 ドライバーは、プライベート DEVMODEW 構造体に格納されているオプションのいくつかの予約済みキーワードをサポートしています。

呼び出し元は、ppszOption が指す文字列を解放しないでください。また、どのような方法でも文字列を変更しないでください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)

関連項目

IPrintCoreHelper

IPrintCoreHelper::EnumOptions

IPrintCoreHelper::SetOptions