Пример #1
0
        private void CallIOCTL(NativeMethods.ServiceIoctl ioctl, out int returnData)
        {
            int ret;

            if (NativeMethods.ServiceIoControl(this.Handle, ioctl, IntPtr.Zero, 0, out returnData, 4, out ret, IntPtr.Zero) == 0)
            {
                throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error());
            }
        }
Пример #2
0
        private void CallIOCTL(NativeMethods.ServiceIoctl ioctl, string output)
        {
            int ret;

            if (NativeMethods.ServiceIoControl(this.Handle, ioctl, output, (output.Length + 1) * 2 /* Unicode length */, IntPtr.Zero, 0, out ret, IntPtr.Zero) == 0)
            {
                throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error());
            }
        }