次の方法で共有


DrvUpgradePrinter 関数 (winddiui.h)

プリンター インターフェイス DLL の DrvUpgradePrinter 関数は、新しいバージョンのドライバーがシステムに追加されるときに、プリンターのレジストリ設定を更新するために使用されます。

構文

BOOL DrvUpgradePrinter(
                 DWORD  Level,
  [in, optional] LPBYTE pDriverUpgradeInfo
);

パラメーター

Level

次の表に示すように、 pDriverUpgradeInfo によって指される構造体の種類を示す呼び出し元が指定した値。

レベル pDriverUpgradeInfo によって指される構造体
1 DRIVER_UPGRADE_INFO_1
2 DRIVER_UPGRADE_INFO_2

[in, optional] pDriverUpgradeInfo

型が dwLevel によって識別される構造体への呼び出し元から提供されるポインター。

戻り値

操作が成功した場合、関数は TRUE を返す必要があります。それ以外の場合は、SetLastError を呼び出してエラー コードを設定し、 FALSE を返す必要があります。

注釈

プリンター インターフェイス DLL は、必要に応じて DrvUpgradePrinter 関数を提供できます。 その場合、スプーラーは、プリンター ドライバーがシステムにコピーされるときに、すべてのプリンターに対して呼び出します。 これは、あるオペレーティング システム リリースから次のリリースにシステムがアップグレードされた場合、またはアプリケーションが Win32 AddPrinterDriver 関数を呼び出してプリンター ドライバーを更新した場合に発生します。

多くの場合、新しいドライバーバージョンでは、以前のバージョンとは異なるレジストリ設定が必要です。 DrvUpgradePrinter 関数の目的は、レジストリを更新してドライバーと互換性を持つようにすることです。 レジストリにプリンター情報を格納する方法の詳細については、「 DrvPrinterEvent」を参照してください。

Windows 2000 以降では、スプーラーが DrvUpgradePrinter を呼び出すときに、 pDriverUpgradeInfo のDRIVER_UPGRADE_INFO_2構造体ポインターが提供されます。 関数が FALSE を返す場合、スプーラーは関数を再度呼び出し、今度はDRIVER_UPGRADE_INFO_1構造体ポインターを指定します。 この呼び出しで FALSE が返された場合、スプーラーはイベント ログにエントリを書き込みます。

Windows NT 4.0 以前では、スプーラーが DrvUpgradePrinter を呼び出すときに、pDriverUpgradeInfo のDRIVER_UPGRADE_INFO_1構造体ポインターが提供されます。 関数が FALSE を返す場合、スプーラーはイベント ログにエントリを書き込みます。

要件

要件
対象プラットフォーム デスクトップ
Header winddiui.h (Winddiui.h を含む)

こちらもご覧ください

DRIVER_UPGRADE_INFO_1

DRIVER_UPGRADE_INFO_2

DrvPrinterEvent