public static extern NtStatus NtWriteFileGather( SafeKernelObjectHandle FileHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, [MarshalAs(UnmanagedType.LPArray), In] FileSegmentElement[] SegmentArray, int Length, [In] LargeInteger ByteOffset, IntPtr Key);
public static extern NtStatus NtWriteFile( SafeKernelObjectHandle FileHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, SafeBuffer Buffer, int Length, [In] LargeInteger ByteOffset, IntPtr Key );
internal NtAsyncResult(NtObject @object) { _object = @object; if (!_object.CanSynchronize) { _event = NtEvent.Create(null, EventType.SynchronizationEvent, false); } _io_status = new SafeIoStatusBuffer(); _result = null; }
public static extern NtStatus NtNotifyChangeKey( SafeKernelObjectHandle KeyHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, NotifyCompletionFilter CompletionFilter, bool WatchTree, SafeBuffer Buffer, int BufferSize, bool Asynchronous );
public static extern NtStatus NtFsControlFile( SafeKernelObjectHandle FileHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, int FSControlCode, IntPtr InputBuffer, int InputBufferLength, IntPtr OutputBuffer, int OutputBufferLength );
public static extern NtStatus NtLockFile( SafeKernelObjectHandle FileHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, [In] LargeInteger ByteOffset, [In] LargeInteger Length, int Key, bool FailImmediately, bool ExclusiveLock );
public static extern NtStatus NtNotifyChangeMultipleKeys( SafeKernelObjectHandle MasterKeyHandle, int Count, // Can only be 1. ObjectAttributes SubordinateObjects, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, NotifyCompletionFilter CompletionFilter, bool WatchTree, SafeBuffer Buffer, int BufferSize, bool Asynchronous);
public static extern NtStatus NtQueryDirectoryFile( SafeKernelObjectHandle FileHandle, SafeKernelObjectHandle Event, IntPtr ApcRoutine, IntPtr ApcContext, SafeIoStatusBuffer IoStatusBlock, SafeBuffer FileInformation, int Length, FileInformationClass FileInformationClass, [MarshalAs(UnmanagedType.U1)] bool ReturnSingleEntry, UnicodeString FileName, [MarshalAs(UnmanagedType.U1)] bool RestartScan );
public static extern NtStatus NtCancelIoFileEx( SafeKernelObjectHandle FileHandle, SafeIoStatusBuffer IoRequestToCancel, [Out] IoStatus IoStatusBlock );
public static extern NtStatus NtCancelSynchronousIoFile(SafeKernelObjectHandle ThreadHandle, [In] SafeIoStatusBuffer IoRequestToCancel, [Out] IoStatus IoStatusBlock);