V4 ドライバー INF
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。
v4 印刷ドライバのセットアップ モデルは引き続き INF ファイルを使用しますが、プリンター固有のセットアップ ディレクティブをキャプチャするために新しいマニフェスト ファイルも使用します。
重要
WDK for Windows 11 バージョン 22H2 以降では、WDF 再頒布可能パッケージ共同インストーラーは未対応となりました。 この変更を回避する方法については、「WDK の既知の問題に関する記事」で 「WDF 再頒布可能パッケージ共同インストーラーが機能しない」を参照してください。
INF のサンプル
このトピックで紹介する v4 印刷ドライバー INF ファイルのサンプルには、プリンター固有のディレクティブが含まれていないことに注意してください。 プリンター固有の指示は、常に「–manifest.ini」で終わる名前が付けられた v4 マニフェスト ファイルに含まれています。 ドライバー パッケージ内の各ドライバーは、独自の v4 マニフェスト ファイルを指定できます。
次のサンプル INF ファイルは、架空の会社 Fabrikam が、v4 印刷ドライバーで実行するためにインストールされる印刷デバイスを製造していることを前提としています。
[Version]
Signature="$Windows NT$"
Provider="Fabrikam"
Class=Printer
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
CatalogFile=prnfa999.CAT
DriverVer=09/12/2010,6.2.8060.4
ClassVer=4.0 ;This causes v4 setup to take place
PnpLockdown=1
[Manufacturer]
"Fabrikam"=Fabrikam,NTamd64
[Fabrikam.NTamd64] ;Add your models here
"Fabrikam Laser 9000" = Laser9000,Fabrik9000_sdfjkals ;HWID example
"Fabrikam Laser 9100" = Laser9000,Fabrik9100_sjkasj ;HWID example
"Fabrikam Laser 9000 series" = Laser9000,{E0691E8C-F7CC-456E-A7B5-D1FC19BA2279} ;PrinterDriverID
[Laser9000]
CopyFiles=Laser9000_FILES
[Laser9000_FILES]
faPDL.gpd
faPDL-pipelineconfig.xml
faPDL-manifest.ini
faPDL.dll
[SourceDisksNames.amd64]
1 = %Location%,,,
2 = %Location%,,,amd64
[SourceDisksNames.x86]
1 = %Location%,,,
2 = %Location%,,,x86
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksFiles]
faPDL.gpd=1
faPDL-pipelineconfig.xml=1
faPDL-manifest.ini = 1
faPDL.dll =2
[Strings]
Location="Fabrikam DVD"
INF のディレクティブ
次の表に、v4 印刷ドライバーと印刷クラス ドライバーで許可されているプリンター固有のディレクティブの一覧を示します。
ディレクティブ | 説明 | 制限事項 | 使用方法 |
---|---|---|---|
ClassVer | プリンター クラス ドライバーが v4 であることを示すために使用します。 | V4 印刷ドライバーでは、ClassVer=4.0 を指定する必要があります。 V3 印刷ドライバーでは ClassVer=3.0 を指定できますが、省略可能です。 現時点では、他の値はサポートされていません。 | ClassVer=4.0 |
DestinationDirs キーワード
v4 ドライバー INF では、 パッケージ内のすべてのファイルに DestinationDir が指定されている必要があります。 サポートされている DestinationDir の値を次の表に一覧表示します。
DestinationDir ID | 説明 |
---|---|
66000 | [この宛先 ID は v4 ドライバーに対してオーバーロードされています] V4: これは、v4 印刷ドライバーの DefaultDestDir として設定する必要があります。 ドライバー ストアからファイルを実行する必要があることを指定します。 V3: これは、\3 ディレクトリにファイルをインストールする必要があることを指定します。 |
23 | V4: これは、任意のカラー プロファイルの DestinationDir として設定する必要があります。 V3: カラー プロファイルは、プリンター固有の DirID 66003 を使用してインストールする必要があります。 |
INF の制限
V4 印刷ドライバーは、次の一覧で呼び出される他のプリンター固有のディレクティブやキーワードを定義することはできません。
INF ファイル キーワード | [使用法の種類] |
---|---|
AddInterface | ディレクティブ |
AddReg | ディレクティブ |
AddService | ディレクティブ |
BitReg | ディレクティブ |
ClassInstall32 | セクションの種類 |
ClassInstall32.Service | セクションの種類 |
ConfigFile | v3 印刷ディレクティブ |
CoreDriverDependencies | v3 印刷ディレクティブ |
CoreDriverSections | v3 印刷ディレクティブ |
DataFile | v3 印刷ディレクティブ |
DDInstall.CoInstallers | セクションの種類 |
DDInstall.FactDef | セクションの種類 |
DDInstall.HW | セクションの種類 |
DDInstall.Interfaces | セクションの種類 |
DDInstall.LogConfigOverride | セクションの種類 |
DDInstall.Services | セクションの種類 |
DDInstall.WMI | セクションの種類 |
DefaultInstall | セクションの種類 |
DefaultInstall.Services | セクションの種類 |
DelFiles | ディレクティブ |
DelReg | ディレクティブ |
DelService | ディレクティブ |
DontリフレクトOffline | ディレクティブ |
DriverFile | v3 印刷ディレクティブ |
DriverIsolation | v3 印刷ディレクティブ |
FeatureScore | ディレクティブ |
HelpFile | v3 印刷ディレクティブ |
含む | ディレクティブ |
Ini2Reg | ディレクティブ |
InterfaceInstall32 | セクションの種類 |
LayoutFile | ディレクティブ |
LogConfig | ディレクティブ |
必要なもの | ディレクティブ |
PackageAware | v3 印刷ディレクティブ |
RenFiles | ディレクティブ |
UpdateIniFields | ディレクティブ |
UpdateInis | ディレクティブ |
NTPrint 参照
NTPrint 参照はマニフェスト ファイルで行われます。 INF ファイルでは、DDInstall、CopyFiles、または SourceDisksFiles セクションの NTPrint リファレンスに関する情報は必要ありません。
構成モジュールの参照
すべての印刷ドライバーは、同じ構成モジュール バイナリ (PrintConfig.dll) を使用します。ドライバーが構成モジュールを選択するためのメカニズムはありません。
関連トピック
基本的な v4 プリンター ドライバーの INF ファイルを作成する方法については、「基本的な v4 プリンター ドライバーのビルド」を参照してください。