internal void AddDir()
        {
            SHCHANGENOTIFYENTRY notEntry = new SHCHANGENOTIFYENTRY();

            //Set mask
            notEntry.dwEventMask = (int)SHCNE_ALLEVENTS;
            //notEntry.dwEventMask = (int)SHCNE_ATTRIBUTES | (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM;
            //notEntry.dwEventMask = (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM;

            notEntry.fRecursive = BOOL(includeSubdirectories);

            //Set watch dir
            IntPtr lpWatchDir = StringToHLocal(path);

            notEntry.pszWatchDir = lpWatchDir;

            //Call API
#if !NDOC
            int res = SHChangeNotifyRegister(windowSink.Hwnd, ref notEntry);
#endif
        }
 internal static extern int SHChangeNotifyRegister(IntPtr hwnd, ref SHCHANGENOTIFYENTRY pshcne);
 internal static extern bool SHChangeNotifyRegister(IntPtr hwnd, ref SHCHANGENOTIFYENTRY pshcne);
		internal void AddDir()
		{	
			SHCHANGENOTIFYENTRY notEntry = new SHCHANGENOTIFYENTRY();

			//Set mask
			notEntry.dwEventMask = (int)SHCNE_ALLEVENTS;
			//notEntry.dwEventMask = (int)SHCNE_ATTRIBUTES | (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM;
			//notEntry.dwEventMask = (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM;
			
			notEntry.fRecursive = BOOL(includeSubdirectories);

			//Set watch dir
			IntPtr lpWatchDir = StringToHLocal(path);
			notEntry.pszWatchDir = lpWatchDir;
			
			//Call API
#if !NDOC
			int res = SHChangeNotifyRegister(windowSink.Hwnd, ref notEntry);
#endif
							
		}