private NtResult <SafeSamMemoryBuffer> QueryBuffer(DomainInformationClass info_class, bool throw_on_error)
 {
     return(SecurityNativeMethods.SamQueryInformationDomain(Handle, info_class, out SafeSamMemoryBuffer buffer).CreateResult(throw_on_error, () =>
     {
         return buffer;
     }));
 }
 private NtResult <SafeSamMemoryBuffer> QueryBuffer <T>(DomainInformationClass info_class, bool throw_on_error) where T : struct
 {
     return(SecurityNativeMethods.SamQueryInformationDomain(Handle, info_class, out SafeSamMemoryBuffer buffer).CreateResult(throw_on_error, () =>
     {
         buffer.Initialize <T>(1);
         return buffer;
     }));
 }
 private void SetInformation(DomainInformationClass infoClass, IntPtr buffer)
 {
     Win32.SamSetInformationDomain(
         this,
         infoClass,
         buffer
         ).ThrowIf();
 }
 private NtResult <T> Query <T>(DomainInformationClass info_class, bool throw_on_error) where T : struct
 {
     using (var buffer = QueryBuffer(info_class, throw_on_error))
     {
         if (!buffer.IsSuccess)
         {
             return(buffer.Cast <T>());
         }
         buffer.Result.Initialize <T>(1);
         return(buffer.Result.Read <T>(0).CreateResult());
     }
 }
        private SamMemoryAlloc GetInformation(DomainInformationClass infoClass)
        {
            IntPtr buffer;

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

            return(new SamMemoryAlloc(buffer));
        }
Esempio n. 6
0
        private void SetInformation(DomainInformationClass infoClass, IntPtr buffer)
        {
            NtStatus status;

            if ((status = Win32.SamSetInformationDomain(
                     this,
                     infoClass,
                     buffer
                     )) >= NtStatus.Error)
            {
                Win32.Throw(status);
            }
        }
Esempio n. 7
0
        private SamMemoryAlloc GetInformation(DomainInformationClass infoClass)
        {
            NtStatus status;
            IntPtr   buffer;

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

            return(new SamMemoryAlloc(buffer));
        }
Esempio n. 8
0
 internal static extern NtStatus SamQueryInformationDomain(
     SafeSamHandle DomainHandle,
     DomainInformationClass DomainInformationClass,
     out SafeSamMemoryBuffer Buffer
     );
Esempio n. 9
0
 internal static extern NtStatus SamSetInformationDomain(
     SafeSamHandle DomainHandle,
     DomainInformationClass DomainInformationClass,
     SafeBuffer DomainInformation
     );
Esempio n. 10
0
 public static extern NtStatus SamSetInformationDomain(
     [In] IntPtr DomainHandle,
     [In] DomainInformationClass DomainInformationClass,
     [In] IntPtr DomainInformation
     );
Esempio n. 11
0
 public static extern NtStatus SamQueryInformationDomain(
     [In] IntPtr DomainHandle,
     [In] DomainInformationClass DomainInformationClass,
     [Out] out IntPtr Buffer
     );
Esempio n. 12
0
 private static extern NtStatus SamQueryInformationDomain(IntPtr domainHandle, DomainInformationClass domainInformationClass, out IntPtr buffer);