ドライバー固有設定の保存・復元
DEVMODEバッファを非公開部分ごと保存する(SetHdevmodeで非公開領域を受け取った後のPrinterSettingsを丸ごとシリアライズする場合を含む)、PrinterSettingsやPageSettingsの公開プロパティの値(Customやメーカー固有の用紙・トレイの番号)を保存する、メーカー名前空間を含むPrintTicketを保存するなど、プリンタードライバーに依存した状態を印刷設定として設定ファイルに持ち歩く実装。前二者は壊れ方が異なる。
- 概念URI
https://comcomponent.com/knowledge/driver-specific-setting-persistence/
- 別名・表記
- DEVMODEの丸ごと保存 / PrinterSettingsのシリアライズ
- 最終確認日
- 2026-09-03
- 機械可読データ
- JSON-LD
この概念が関わる関係
- ドライバー固有設定の保存・復元はDEVMODEの非公開部分を利用します。DEVMODEの非公開部分を保存する実装は、ドライバー定義の非公開データを含んだ形で設定を持ち歩く。DocumentPropertiesの結果やGetHdevmodeのバッファをdmDriverExtraのぶんまで保存してSetHdevmodeで戻す実装のほか、SetHdevmodeで非公開領域を内部に複写した後のPrinterSettingsを.NET Frameworkのバイナリシリアライズで丸ごと保存する実装も、Serializableな型では既定でprivateフィールドも直列化されるためここに入る。PrinterSettingsやPageSettingsの公開プロパティの値だけを独自形式で保存する実装にはネイティブのDEVMODEやdmDriverExtra領域は含まれず、その実装の問題はCustomやメーカー固有の用紙・トレイ番号への依存という別のものである。PrintTicketだけを保存する実装はDEVMODEを使わない。 / 確度: 条件付きの関係 / 確認日: 2026-09-03 出典 出典 出典 出典
- ドライバー固有設定の保存・復元はPrintTicketの私的拡張を利用します。保存したPrintTicket XMLにメーカーの名前空間が混ざっているなら、それはPrintTicketの私的拡張を含んだドライバー固有設定である。 / 確度: 条件付きの関係 / 確認日: 2026-09-01 出典 出典
- ドライバー固有設定の保存・復元は意図しないプリンタードライバーの入れ替わりと両立しません。ドライバーがIPPクラスドライバーに変わった瞬間、保存していたDEVMODEの非公開データはそのドライバーだけが解釈できるものだったため意味を失う。PrinterSettingsやPageSettingsの公開プロパティの値として保存した用紙・トレイの値のうち、標準のPaperKindやPaperSourceKindに対応するRawKindはドライバーが変わっても意味を保つが、Customやメーカー固有の値はメーカー製ドライバーの一覧に対する番号なので、IPPクラスドライバーが同じ用紙・トレイと解釈する保証がない。壊れ方は違うが、どちらもドライバーの入れ替わりと両立しない。 / 確度: 確立した関係 / 確認日: 2026-09-03 出典 出典 出典 出典
- 印刷直前の能力照会と検証(GetPrintCapabilities / MergeAndValidatePrintTicket)はドライバー固有設定の保存・復元に対する本記事の推奨です。保存するのは意図だけにしてドライバーの状態を保存せず、印刷直前にGetPrintCapabilitiesで能力を取りMergeAndValidatePrintTicketで検証する設計が、ドライバー固有設定の保存に対する本記事の推奨である。 / 確度: 確立した関係 / 確認日: 2026-09-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。