Exemplo n.º 1
0
        public static UInt64 GetModule(String name)
        {
            IntPtr intPtr = Marshal.AllocHGlobal(64);
            var    input  = new IoctlProcessStruct(true, name);

            input.ProcessId = ProcessId;
            input.Buffer    = intPtr;
            var   output = new IoctlProcessStruct(true, name);
            ulong io     = 0;
            var   obj    = (UInt64)Marshal.ReadInt64(intPtr);
            var   status = DeviceIoControl(DeviceHandle, IOCTL_FIND_MODULE, input, Marshal.SizeOf <IoctlProcessStruct>(), output, Marshal.SizeOf <IoctlProcessStruct>(), ref io, 0);

            obj = (UInt64)Marshal.ReadInt64(intPtr);
            Marshal.FreeHGlobal(intPtr);
            return(obj);
        }
Exemplo n.º 2
0
        public static Boolean SetCallback(Boolean enable, String procName = "")
        {
            var processStruct = new IoctlProcessStruct(enable, procName);

            return(DeviceIoControl <Boolean>(DeviceHandle, IOCTL_CALLBACK, processStruct));
        }