Keeping track of window notification registrations is part of the defined API. A struct is required to do that.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47433 Signed-off-by: Patrick Hibbs hibbsncc1701@yahoo.com --- dlls/wtsapi32/wtsapi32.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c index 2f5e73d05a..3d944943b4 100644 --- a/dlls/wtsapi32/wtsapi32.c +++ b/dlls/wtsapi32/wtsapi32.c @@ -22,9 +22,24 @@ #include "wtsapi32.h" #include "wine/debug.h" #include "wine/heap.h" +#include "wine/list.h"
WINE_DEFAULT_DEBUG_CHANNEL(wtsapi);
+/* This linked list is an internal management structure + * mostly used to keep track of window event notification + * registrations so we can give proper return codes to + * callers. + */ +typedef struct tagWTSAPI32InternalRegMNGTStr +{ + struct list entry; + HANDLE hServer; /* The server we're monitoring. */ + HWND hWnd; /* The window to recieve notifications. */ + DWORD dwFlags; /* Types of notifications the window should get. */ +} WTSAPI32InternalRegMNGTStr; + +static struct list RegisteredWindowsToNotifiy = LIST_INIT( RegisteredWindowsToNotifiy );
/************************************************************ * WTSCloseServer (WTSAPI32.@)