| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_PRNASNOT | |
| #define _INC_PRNASNOT | |
| #if (_WIN32_WINNT >= 0x0600) | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef enum tagPrintAsyncNotifyConversationStyle { | |
| kBiDirectional, | |
| kUniDirectional | |
| } PrintAsyncNotifyConversationStyle; | |
| typedef enum tagPrintAsyncNotifyError { | |
| CHANNEL_CLOSED_BY_SERVER = 0x01, | |
| CHANNEL_CLOSED_BY_ANOTHER_LISTENER = 0x02, | |
| CHANNEL_CLOSED_BY_SAME_LISTENER = 0x03, | |
| CHANNEL_RELEASED_BY_LISTENER = 0x04, | |
| UNIRECTIONAL_NOTIFICATION_LOST = 0x05, | |
| ASYNC_NOTIFICATION_FAILURE = 0x06, | |
| NO_LISTENERS = 0x07, | |
| CHANNEL_ALREADY_CLOSED = 0x08, | |
| CHANNEL_ALREADY_OPENED = 0x09, | |
| CHANNEL_WAITING_FOR_CLIENT_NOTIFICATION = 0x0a, | |
| CHANNEL_NOT_OPENED = 0x0b, | |
| ASYNC_CALL_ALREADY_PARKED = 0x0c, | |
| NOT_REGISTERED = 0x0d, | |
| ALREADY_UNREGISTERED = 0x0e, | |
| ALREADY_REGISTERED = 0x0f, | |
| CHANNEL_ACQUIRED = 0x10, | |
| ASYNC_CALL_IN_PROGRESS = 0x11, | |
| MAX_NOTIFICATION_SIZE_EXCEEDED = 0x12, | |
| INTERNAL_NOTIFICATION_QUEUE_IS_FULL = 0x13, | |
| INVALID_NOTIFICATION_TYPE = 0x14, | |
| MAX_REGISTRATION_COUNT_EXCEEDED = 0x15, | |
| MAX_CHANNEL_COUNT_EXCEEDED = 0x16, | |
| LOCAL_ONLY_REGISTRATION = 0x17, | |
| REMOTE_ONLY_REGISTRATION = 0x18 | |
| } PrintAsyncNotifyError; | |
| typedef enum tagPrintAsyncNotifyUserFilter { | |
| kPerUser, | |
| kAllUsers | |
| } PrintAsyncNotifyUserFilter; | |
| HRESULT CreatePrintAsyncNotifyChannel( | |
| LPCWSTR pName, | |
| PrintAsyncNotificationType *pSchema, | |
| PrintAsyncNotifyUserFilter filter, | |
| PrintAsyncNotifyConversationStyle directionality, | |
| IPrintAsyncNotifyCallback *pCallback, | |
| IPrintAsyncNotifyChannel **ppChannel | |
| ); | |
| HRESULT RegisterForPrintAsyncNotifications( | |
| LPCWSTR pName, | |
| PrintAsyncNotificationType *pSchema, | |
| PrintAsyncNotifyUserFilter filter, | |
| PrintAsyncNotifyConversationStyle directionality, | |
| IPrintAsyncNotifyCallback *pCallback, | |
| HANDLE *pRegistrationHandler | |
| ); | |
| HRESULT UnRegisterForPrintAsyncNotifications( | |
| HANDLE hRegistrationHandler | |
| ); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* (_WIN32_WINNT >= 0x0600) */ | |
| #endif /*_INC_PRNASNOT*/ |