1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_PRNASNOT 7 #define _INC_PRNASNOT 8 #if (_WIN32_WINNT >= 0x0600) 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 typedef enum tagPrintAsyncNotifyConversationStyle { 15 kBiDirectional, 16 kUniDirectional 17 } PrintAsyncNotifyConversationStyle; 18 19 typedef enum tagPrintAsyncNotifyError { 20 CHANNEL_CLOSED_BY_SERVER = 0x01, 21 CHANNEL_CLOSED_BY_ANOTHER_LISTENER = 0x02, 22 CHANNEL_CLOSED_BY_SAME_LISTENER = 0x03, 23 CHANNEL_RELEASED_BY_LISTENER = 0x04, 24 UNIRECTIONAL_NOTIFICATION_LOST = 0x05, 25 ASYNC_NOTIFICATION_FAILURE = 0x06, 26 NO_LISTENERS = 0x07, 27 CHANNEL_ALREADY_CLOSED = 0x08, 28 CHANNEL_ALREADY_OPENED = 0x09, 29 CHANNEL_WAITING_FOR_CLIENT_NOTIFICATION = 0x0a, 30 CHANNEL_NOT_OPENED = 0x0b, 31 ASYNC_CALL_ALREADY_PARKED = 0x0c, 32 NOT_REGISTERED = 0x0d, 33 ALREADY_UNREGISTERED = 0x0e, 34 ALREADY_REGISTERED = 0x0f, 35 CHANNEL_ACQUIRED = 0x10, 36 ASYNC_CALL_IN_PROGRESS = 0x11, 37 MAX_NOTIFICATION_SIZE_EXCEEDED = 0x12, 38 INTERNAL_NOTIFICATION_QUEUE_IS_FULL = 0x13, 39 INVALID_NOTIFICATION_TYPE = 0x14, 40 MAX_REGISTRATION_COUNT_EXCEEDED = 0x15, 41 MAX_CHANNEL_COUNT_EXCEEDED = 0x16, 42 LOCAL_ONLY_REGISTRATION = 0x17, 43 REMOTE_ONLY_REGISTRATION = 0x18 44 } PrintAsyncNotifyError; 45 46 typedef enum tagPrintAsyncNotifyUserFilter { 47 kPerUser, 48 kAllUsers 49 } PrintAsyncNotifyUserFilter; 50 51 HRESULT CreatePrintAsyncNotifyChannel( 52 LPCWSTR pName, 53 PrintAsyncNotificationType *pSchema, 54 PrintAsyncNotifyUserFilter filter, 55 PrintAsyncNotifyConversationStyle directionality, 56 IPrintAsyncNotifyCallback *pCallback, 57 IPrintAsyncNotifyChannel **ppChannel 58 ); 59 60 HRESULT RegisterForPrintAsyncNotifications( 61 LPCWSTR pName, 62 PrintAsyncNotificationType *pSchema, 63 PrintAsyncNotifyUserFilter filter, 64 PrintAsyncNotifyConversationStyle directionality, 65 IPrintAsyncNotifyCallback *pCallback, 66 HANDLE *pRegistrationHandler 67 ); 68 69 HRESULT UnRegisterForPrintAsyncNotifications( 70 HANDLE hRegistrationHandler 71 ); 72 73 #ifdef __cplusplus 74 } 75 #endif 76 77 #endif /* (_WIN32_WINNT >= 0x0600) */ 78 #endif /*_INC_PRNASNOT*/ 79