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)); }
private void SetInformation(DomainInformationClass infoClass, IntPtr buffer) { NtStatus status; if ((status = Win32.SamSetInformationDomain( this, infoClass, buffer )) >= NtStatus.Error) { Win32.Throw(status); } }
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)); }
internal static extern NtStatus SamQueryInformationDomain( SafeSamHandle DomainHandle, DomainInformationClass DomainInformationClass, out SafeSamMemoryBuffer Buffer );
internal static extern NtStatus SamSetInformationDomain( SafeSamHandle DomainHandle, DomainInformationClass DomainInformationClass, SafeBuffer DomainInformation );
public static extern NtStatus SamSetInformationDomain( [In] IntPtr DomainHandle, [In] DomainInformationClass DomainInformationClass, [In] IntPtr DomainInformation );
public static extern NtStatus SamQueryInformationDomain( [In] IntPtr DomainHandle, [In] DomainInformationClass DomainInformationClass, [Out] out IntPtr Buffer );
private static extern NtStatus SamQueryInformationDomain(IntPtr domainHandle, DomainInformationClass domainInformationClass, out IntPtr buffer);