コード例 #1
0
 /// <summary>
 /// Modify trace security.
 /// </summary>
 /// <param name="guid">The event trace GUID.</param>
 /// <param name="operation">The operation to perform.</param>
 /// <param name="sid">The SID to set.</param>
 /// <param name="access_mask">The access mask to set.</param>
 /// <param name="allow">True to allow, false to deny.</param>
 /// <param name="throw_on_error">True to throw on error.</param>
 /// <returns>The NT status code.</returns>
 public static NtStatus ControlTraceSecurity(Guid guid, EventSecurityOperation operation, Sid sid, TraceAccessRights access_mask, bool allow, bool throw_on_error)
 {
     using (var buffer = sid.ToSafeBuffer())
     {
         return(Win32NativeMethods.EventAccessControl(ref guid, operation, buffer, access_mask, allow).ToNtException(throw_on_error));
     }
 }
コード例 #2
0
 internal static extern Win32Error EventAccessControl(
     ref Guid Guid,
     EventSecurityOperation Operation,
     SafeSidBufferHandle Sid,
     AccessMask Rights,
     [MarshalAs(UnmanagedType.U1)] bool AllowOrDeny
     );
コード例 #3
0
 /// <summary>
 /// Modify trace security.
 /// </summary>
 /// <param name="guid">The event trace GUID.</param>
 /// <param name="operation">The operation to perform.</param>
 /// <param name="sid">The SID to set.</param>
 /// <param name="access_mask">The access mask to set.</param>
 /// <param name="allow">True to allow, false to deny.</param>
 public static void ControlTraceSecurity(Guid guid, EventSecurityOperation operation, Sid sid, TraceAccessRights access_mask, bool allow)
 {
     ControlTraceSecurity(guid, operation, sid, access_mask, allow, true);
 }