次の方法で共有


AddPrintDeviceObject 関数 (winsplp.h)

警告

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

AddPrintDeviceObject 印刷プロバイダー関数は、印刷プロバイダー キューのデバイス オブジェクトを作成します。

構文

HRESULT AddPrintDeviceObject(
  [in]  HANDLE hPrinter,
  [out] HANDLE *phDeviceObject
);

パラメーター

[in] hPrinter

開いているプリンターへのハンドル。 これは、 AddPrinter または OpenPrinter スプーラー関数によって返される HANDLE である必要があります。

[out] phDeviceObject

デバイス オブジェクトへの HANDLE (正常に作成された場合)。

戻り値

AddPrintDeviceObject 関数は、デバイス オブジェクトが正常に作成された場合、S_OKを返します。 それ以外の場合は、エラーが返されます。

注釈

AddPrintDeviceObject 関数は、次の状況で呼び出す必要があります。

ユーザーがプリンターをインストールする

  • プリンターをインストールした後、印刷プロバイダーはこの関数を呼び出す必要があります。

  • この関数は、プリンターをインストールするユーザーを偽装して呼び出す必要があります。

印刷プロバイダーは、プロバイダーが所有する以前にインストールされたプリンターごとにこの関数を呼び出す必要があります。 この間、 AddPrintDeviceObject が呼び出されたときにユーザー コンテキストを偽装する必要はありません。

AddPrintDeviceObject を使用して追加されたデバイス オブジェクトは、RemovePrintDeviceObject を使用して削除するか、スプーラー サービスが再起動するまで保持されます。 スプーラー サービスが停止すると、すべてのデバイス オブジェクトが自動的に削除されます。

要件

要件
対象プラットフォーム デスクトップ
Header winsplp.h (Winspool.h を含む)
Library WinSpool.lib
[DLL] WinSpool.drv

こちらもご覧ください

RemovePrintDeviceObject