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, FieldId 멤버를 검사합니다. 모두 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에 대한 설명을 참조하세요.

자세한 내용은 프린터 변경 알림 지원을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 winsplp.h(Winsplp.h 포함)
라이브러리 Spoolss.lib
DLL Spoolss.dll

추가 정보

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo