次の方法で共有


印刷プロバイダーによって定義されている関数

警告

Windows 10 以降では、サード パーティの印刷プロバイダーをサポートする API は非推奨となります。 Microsoft は、サード パーティの印刷プロバイダーへの投資を推奨していません。 さらに、v4 印刷ドライバー モデルを使用できる Windows 8 以降の製品では、サード パーティの印刷プロバイダーが v4 印刷ドライバーを使用するキューを作成または管理できない場合があります。

このトピックでは、印刷プロバイダーが提供できるすべての関数の一覧を示します。 これらの関数のほとんどは、Microsoft Windows SDK のドキュメントで説明されています。 関数が Windows Driver Kit (WDK) で説明されている場合、関数名は、関連付けられている参照ページへのリンクを提供します。

すべての印刷プロバイダーは、リストされているすべての関数のポインターを指定する必要があります。 ただし、ベンダーが提供するほとんどの印刷プロバイダーは、関数によって定義された操作の多くをサポートする必要のない「部分プロバイダー」です。 そのため、関数ポインターの多くは NULL にすることができます。 部分印刷プロバイダーの詳細については、「ネットワーク印刷プロバイダーの作成」を参照してください。

次の関数の一覧では、サポートする必要がある関数に "必須" というラベルが付けられます。

すべての印刷プロバイダーは初期化関数 InitializePrintProvidor をエクスポートする必要があります。 他のすべての関数へのポインターは、PRINTPROVIDOR 構造体で指定する必要があります。 (これら 2 つの名前のスペルは間違っていますが、ヘッダー ファイル Winsplp.h に表示される名前と一致している点に注意してください)。

関数はグループに分けられ、次のセクションで説明します。

  • 初期化関数

  • 印刷キュー管理関数

  • プリンター ドライバー管理関数

  • 印刷ジョブ作成関数

  • 印刷ジョブのスケジューリング関数

  • 帳票管理関数

  • 印刷プロセッサ管理関数

  • 印刷モニター管理関数

  • ポート管理関数

  • レジストリ管理関数

  • その他の関数

初期化関数

関数 説明
InitializePrintProvidor (必須) 印刷プロバイダーを初期化し、指定された関数へのポインターを返します。
関数 説明
AddPrinter 印刷プロバイダーによって管理されている印刷キューの一覧に印刷キューを追加し、印刷プロセッサを印刷キューに関連付けます。
AddPrinterConnection 指定した印刷キューへの接続を作成します。
ClosePrinter (必須) 指定した印刷キューへの呼び出し元アクセスを無効にします。
DeletePrinter 印刷プロバイダーによって管理されている印刷キューの一覧から印刷キューを削除します。
DeletePrinterConnection 指定した印刷キューへの接続を削除します。
EnumPrinters (必須) 現在印刷プロバイダーによって管理されている印刷キューの一覧を列挙します。
FindClosePrinterChangeNotification FindFirstPrinterChangeNotification によって有効にされたプリンター変更通知を無効にします。
FindFirstPrinterChangeNotification 指定したプリンター イベントを待機するために呼び出し元が使用できる待機オブジェクトへのハンドルを返します。
GetPrinter (必須) 指定した印刷キューの現在のパラメーター値を返します。
OpenPrinter (必須) 指定した印刷キューへの呼び出し元アクセスを有効にします。
RefreshPrinterChangeNotification クライアントが PRINTER_NOTIFY_OPTIONS_REFRESH フラグを設定して FindNextPrinterChangeNotification を呼び出す場合にルーターによって呼び出されます。
ResetPrinter 印刷キューのデータ型または DEVMODEW 構造体を変更します。
SetPrinter (必須) 指定した印刷キューのパラメーターを設定します。
WaitForPrinterChange 廃止されています。

プリンター ドライバー管理関数

関数 説明
AddPrinterDriver 指定したプリンターのドライバー ファイルを指定したサーバーに追加します。
AddPrinterDriverEx AddPrinterDriver と同じで、パラメーターが追加されています。
DeletePrinterDriver 指定したサーバー上の、指定したプリンターのドライバー ファイルへのアクセスを削除します。
DeletePrinterDriverEx DeletePrinterDriver と同じで、パラメーターが追加されています。
EnumPrinterDrivers AddPrinterDriver または AddPrinterDriverEx を呼び出して、指定したサーバーに追加されたプリンター ドライバーの一覧を返します。
GetPrinterDriver 呼び出し元が AddPrinterDriver に渡すことができるプリンター ドライバーに関する情報を返します。 (通常、返される情報は INF ファイルから取得されます)。
[GetPrinterDriverEx GetPrinterDriver と同じで、パラメーターが追加されています。
GetPrinterDriverDirectory サーバーのプリンター ドライバー ディレクトリの名前を返します。
関数 説明
AbortPrinter (必須) 指定した印刷キューから現在のジョブの削除を試みます。
AddJob (必須) ジョブ識別子とスプール ファイル パスを返します。 呼び出し元は、CreateFileWriteFile を使用して、スプール ファイルにデータを送信します。
EndDocPrinter (必須) ジョブ完了操作を実行します。
EndPagePrinter ページ補完操作を実行します。
ReadPrinter 双方向プリンターから状態情報を取得します。
ScheduleJob (必須) 指定したジョブをスケジュールできることをプロバイダーに通知します。 ジョブは、以前に AddJob によって返されたジョブ識別子によって指定されます。
StartDocPrinter (必須) 印刷ジョブのスプールを開始するように印刷プロバイダーを準備します。
StartPagePrinter 印刷ジョブ ページを受け取る印刷プロバイダーを準備します。
WritePrinter (必須) 印刷ジョブのデータ ストリームの一部を受信します。

Note

AddJob...ScheduleJob シーケンスは、StartDocPrinter...EndDocPrinter シーケンスの代替です。

関数 説明
EnumJobs (必須) スケジュールされた印刷ジョブの一覧を返します。
GetJob (必須) ジョブ パラメーターを返します。
SetJob (必須) 印刷ジョブをキャンセル、一時停止、再開、または再起動するか、ジョブ パラメーターを設定します。

帳票管理関数

関数 説明
AddForm 指定したプリンターで使用できるフォームの一覧に、指定したフォームを追加します。
DeleteForm 指定したプリンターで使用できるフォームの一覧から、指定したフォームを削除します。
EnumForms 指定したプリンターで使用できるフォームの一覧を返します。
GetForm 指定したフォームの特性を返します。
SetForm 指定したフォームの特性を変更します。
関数 説明
AddPrintProcessor 指定したサーバーに印刷プロセッサをインストールし、印刷プロバイダーが呼び出すことができるプリント プロセッサの一覧に追加します。
DeletePrintProcessor 印刷プロバイダーが呼び出すことができる印刷プロセッサの一覧から印刷プロセッサを削除します。
EnumPrintProcessorDataTypes 印刷プロバイダーによって呼び出し可能な印刷プロセッサでサポートされているデータ型の一覧を返します。
EnumPrintProcessors 印刷プロバイダーが呼び出すことができる印刷プロセッサの一覧を返します。
GetPrintProcessorDirectory 印刷プロセッサ ファイルを格納する必要があるディレクトリ パスを返します。
関数 説明
AddMonitor 印刷プロバイダーが呼び出すことができる印刷モニターの一覧に印刷モニターを追加します。
DeleteMonitor 印刷モニターが呼び出すことができる印刷プロセッサの一覧から印刷プロセッサを削除します。
EnumMonitors 印刷プロバイダーが呼び出すことができる印刷モニターの一覧を返します。

ポート管理関数

関数 説明
AddPort プリンター ポートを使用可能なポートの一覧に追加します。通常は、指定されたポート モニターの AddPortUI 関数を呼び出します。
AddPortEx(/previous-versions/ff545025(v%3dvs.85)) AddPort と同じで、パラメーターが追加されています。
ConfigurePort (必須) プリンター ポートを構成します。通常は、指定されたポート モニターの ConfigurePortUI 関数を呼び出します。
DeletePort (必須) プリンター ポートを使用可能なポートを一覧から削除します。通常は、指定されたポート モニターの DeletePortUI 関数を呼び出します。
EnumPorts (必須) 使用可能なプリンター ポートのリストを返します。
SetPort 指定したプリンター ポートのパラメーターを設定します。

レジストリ管理関数

関数 説明
DeletePrinterData 指定したプリンターの PrinterDriverData キーの下にある、指定した値名に現在割り当てられている値を削除します。
DeletePrinterDataEx DeletePrinterData と同じで、パラメーターが追加されています。
DeletePrinterKey 指定したプリンターの PrinterDriverData キーの下のレジストリに現在格納されている場合は、指定したキーとそのサブキーを削除します。
EnumPrinterData 指定したプリンターの PrinterDriverData キーの下のレジストリに格納されている値名と現在割り当てられている値のそれぞれを返します。
EnumPrinterDataEx EnumPrinterData と同じで、パラメーターが追加されています。
EnumPrinterKey 指定したキー名の下のレジストリに現在含まれているサブキーの一覧を返します。
GetPrinterData 指定したプリンターの PrinterDriverData キーの下のレジストリに格納されている、指定した値の名前に現在割り当てられている値を返します。
GetPrinterDataEx GetPrinterData と同じで、パラメーターが追加されています。
SetPrinterData 指定したプリンターの PrinterDriverData キーの下に、指定した値の名前と値をレジストリに格納します。
SetPrinterDataEx SetPrinterData と同じで、パラメーターが追加されています。

その他の関数

関数 説明
XcvData ポート モニター UI DLL とポート モニター サーバー DLL の間の通信パスを提供します。