Esempio n. 1
0
        public void connect()
        {
            string sName = sessionUniqueAPIIdentifier(CopyStatic.SC2_API_SEMAPHORE_ID);

            SharpCopier.CopyStatic.SECURITY_ATTRIBUTES sec = new SharpCopier.CopyStatic.SECURITY_ATTRIBUTES();
            try
            {
                IntPtr FSemaphore = CreateSemaphore(ref sec, 0, int.MaxValue, CopyStatic.SC2_API_SEMAPHORE_ID);
            }
            catch (Exception)
            {
                //check errors
                throw;
            }



            sName = sessionUniqueAPIIdentifier(CopyStatic.SC2_API_MUTEX_ID);
            IntPtr fMutex = CreateMutex(IntPtr.Zero, false, sName);

            if (fMutex == IntPtr.Zero)
            {
                throw new Exception("Cannot create fMutex " + sName + " : check if dll are registered");
            }

            sName = sessionUniqueAPIIdentifier(CopyStatic.SC2_API_FILEMAPPING_ID);
            IntPtr fFileMapping = CreateFileMapping(IntPtr.Zero, IntPtr.Zero, CopyStatic.FileMapProtection.PageReadWrite, 0, CopyStatic.SC2_API_FILEMAPPING_SIZE, sName);

            if (fFileMapping == IntPtr.Zero)
            {
                throw new Exception("Cannot create fFileMapping " + sName + " : check if dll are registered");
            }

            sName = sessionUniqueAPIIdentifier(CopyStatic.SC2_API_CLIENTEVENT_ID);

            IntPtr fClientEvent = CreateEvent(IntPtr.Zero, false, false, sName);

            if (fClientEvent == IntPtr.Zero)
            {
                throw new Exception("Cannot create fClientEvent " + sName + " : check if dll are registered");
            }

            sName = sessionUniqueAPIIdentifier(CopyStatic.SC2_API_APIEVENT_ID);
            IntPtr fAPIEvent = CreateEvent(IntPtr.Zero, false, false, sName);

            if (fAPIEvent == IntPtr.Zero)
            {
                throw new Exception("Cannot create fAPIEvent " + sName + " : check if dll are registered");
            }
        }
Esempio n. 2
0
 private static extern IntPtr CreateSemaphore(ref SharpCopier.CopyStatic.SECURITY_ATTRIBUTES securityAttributes, int initialCount, int maximumCount, string name);