次の方法で共有


AppendPrinterNotifyInfoData 関数 (winsplp.h)

印刷スプーラーの AppendPrinterNotifyInfoData 関数は、指定したPRINTER_NOTIFY_INFO_DATA構造体の内容を指定したPRINTER_NOTIFY_INFO構造体に追加します。

構文

BOOL AppendPrinterNotifyInfoData(
  [in] PPRINTER_NOTIFY_INFO      pInfoDest,
       PPRINTER_NOTIFY_INFO_DATA pDataSrc,
       DWORD                     fdwFlags
);

パラメーター

[in] pInfoDest

呼び出し元が指定した PRINTER_NOTIFY_INFO 構造体へのポインター。

pDataSrc

呼び出し元が指定した PRINTER_NOTIFY_INFO_DATA 構造体へのポインター。

fdwFlags

呼び出し元が指定したフラグ。 次のフラグが定義されています。

PRINTER_NOTIFY_INFO_DATA_COMPACT
設定すると、関数は、指定された PRINTER_NOTIFY_INFO_DATA 構造体の Field、および Id メンバーを調べます。 すべてが PRINTER_NOTIFY_INFO_DATA 構造体配列の既存の要素と一致する場合、既存の要素は指定された要素で上書きされます。 一致するものが見つからない場合、関数は指定した構造体を配列の末尾に追加します。

戻り値

操作が成功した場合、関数は TRUE 返します。 それ以外の場合、関数は FALSE 返します。 呼び出し元は、GetLastError 呼び出すことによってエラー コードを取得できます。

備考

印刷プロバイダーの RefreshPrinterChangeNotification 関数は、最初に配列とそれに関連付けられているPRINTER_NOTIFY_INFO構造体にストレージを割り当てるために、最初に RouterAllocPrinterNotifyInfo 呼び出した後、PRINTER_NOTIFY_INFO_DATA 構造体配列を設定するために必要な回数 AppendPrinterNotifyInfoData を呼び出す必要があります。

PRINTER_NOTIFY_INFO_DATA_COMPACT フラグが設定されているかどうかに基づいて、関数は、指定した PRINTER_NOTIFY_INFO_DATA 構造体を構造体配列の末尾に追加するか、既存の配列要素を上書きします。 構造体が追加されると、関数は PRINTER_NOTIFY_INFO 構造体の Count メンバーをインクリメントします。

AppendPrinterNotifyInfoData 、指定した PRINTER_NOTIFY_INFO 構造体でPRINTER_NOTIFY_INFO_DISCARDED フラグが設定されていることが検出された場合、関数はすべてのPRINTER_NOTIFY_INFO_DATA構造体をクリアし、エラー コードをERROR_OUT_OF_STRUCTURESに設定します。

pInfoDataSrcに null 指定した場合、AppendPrinterNotifyInfoData 指定した PRINTER_NOTIFY_INFO 構造体にPRINTER_NOTIFY_INFO_DISCARDEDフラグを設定し、すべての PRINTER_NOTIFY_INFO_DATA 構造体をクリアして、エラー コードをERROR_OUT_OF_STRUCTURESに設定します。

(PRINTER_NOTIFY_INFO_DISCARDED フラグの詳細については、Windows SDK ドキュメントの FindNextPrinterChangeNotification の説明を参照してください)。

詳細については、「プリンター変更通知 をサポートするを参照してください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー winsplp.h (Winsplp.h を含む)
ライブラリ Spoolss.lib
DLL Spoolss.dll

関連項目

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo