次の方法で共有


V4 ドライバー INF

重要

プリンターデバイス開発における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 プリンター ドライバーのビルド」を参照してください。