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構造体の Type、Field、および 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に設定します。
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 の説明を参照してください)。
詳細については、「 プリンター変更通知のサポート」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | winsplp.h (Winsplp.h を含む) |
Library | Spoolss.lib |
[DLL] | Spoolss.dll |