예제 #1
0
 private void SetInformation(UserInformationClass infoClass, IntPtr buffer)
 {
     Win32.SamSetInformationUser(
         this,
         infoClass,
         buffer
         ).ThrowIf();
 }
예제 #2
0
 private NtResult <T> Query <T, S>(UserInformationClass info_class, Func <S, T> func, bool throw_on_error) where S : struct
 {
     return(SecurityNativeMethods.SamQueryInformationUser(Handle, info_class, out SafeSamMemoryBuffer buffer).CreateResult(throw_on_error, () =>
     {
         using (buffer)
         {
             buffer.Initialize <S>(1);
             return func(buffer.Read <S>(0));
         }
     }));
 }
예제 #3
0
        private SamMemoryAlloc GetInformation(UserInformationClass infoClass)
        {
            IntPtr buffer;

            Win32.SamQueryInformationUser(
                this,
                infoClass,
                out buffer
                ).ThrowIf();

            return(new SamMemoryAlloc(buffer));
        }
예제 #4
0
        private void SetInformation(UserInformationClass infoClass, IntPtr buffer)
        {
            NtStatus status;

            if ((status = Win32.SamSetInformationUser(
                     this,
                     infoClass,
                     buffer
                     )) >= NtStatus.Error)
            {
                Win32.Throw(status);
            }
        }
예제 #5
0
        private SamMemoryAlloc GetInformation(UserInformationClass infoClass)
        {
            NtStatus status;
            IntPtr   buffer;

            if ((status = Win32.SamQueryInformationUser(
                     this,
                     infoClass,
                     out buffer
                     )) >= NtStatus.Error)
            {
                Win32.Throw(status);
            }

            return(new SamMemoryAlloc(buffer));
        }
예제 #6
0
 internal static extern NtStatus SamSetInformationUser(
     SafeSamHandle UserHandle,
     UserInformationClass UserInformationClass,
     SafeBuffer Buffer
     );
예제 #7
0
 internal static extern NtStatus SamQueryInformationUser(
     SafeSamHandle UserHandle,
     UserInformationClass UserInformationClass,
     out SafeSamMemoryBuffer Buffer
     );
예제 #8
0
 public static extern NtStatus SamSetInformationUser(
     [In] IntPtr UserHandle,
     [In] UserInformationClass UserInformationClass,
     [In] IntPtr Buffer
     );