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

戻り値

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

注釈

印刷プロバイダーの RefreshPrinterChangeNotification 関数は、最初に RouterAllocPrinterNotifyInfo を呼び出して配列とそれに関連付けられているPRINTER_NOTIFY_INFO構造体のストレージを割り当てた後、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に設定します。

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

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

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

要件

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

こちらもご覧ください

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo