public static SafeOverlappedFree Alloc()
        {
            SafeOverlappedFree result = UnsafeNclNativeMethods.SafeNetHandlesSafeOverlappedFree.LocalAlloc(LPTR, (UIntPtr)Win32.OverlappedSize);

            if (result.IsInvalid)
            {
                result.SetHandleAsInvalid();
                throw new OutOfMemoryException();
            }
            return(result);
        }
        public static SafeOverlappedFree Alloc()
        {
            SafeOverlappedFree free = UnsafeNclNativeMethods.SafeNetHandlesSafeOverlappedFree.LocalAlloc(0x40, (UIntPtr)Win32.OverlappedSize);

            if (free.IsInvalid)
            {
                free.SetHandleAsInvalid();
                throw new OutOfMemoryException();
            }
            return(free);
        }