示例#1
0
        private string InnerGetComputerName(COMPUTER_NAME_FORMAT nameType)
        {
            StringBuilder strB = new StringBuilder(1024);

            int nSize = strB.Capacity;

            GetComputerNameEx(nameType, strB, ref nSize);

            return(strB.ToString());
        }
示例#2
0
        private static string InnerGetComputerName(COMPUTER_NAME_FORMAT nameType)
        {
            StringBuilder strB = new StringBuilder(1024);

            uint nSize = (uint)strB.Capacity;

            NativeMethods.GetComputerNameEx(nameType, strB, ref nSize);

            return(strB.ToString());
        }
示例#3
0
        public static void Can_call_ansi_marshaling_extern_function(COMPUTER_NAME_FORMAT nameType)
        {
            var  pathBuilder = new StringBuilder();
            bool successful  = GetComputerNameExA(nameType, pathBuilder, out int length);

            if (!successful)
            {
                throw Marshal.GetExceptionForHR(Marshal.GetLastWin32Error());
            }
            var path = pathBuilder.ToString(0, length);

            Assert.NotNull(path);
        }
 /// <summary>
 /// Get the computer name in the specified format.
 /// </summary>
 public static string GetComputerName(COMPUTER_NAME_FORMAT format)
 {
     return BufferHelper.BufferInvoke((StringBuffer buffer) =>
     {
         uint size = buffer.CharCapacity;
         while (!Imports.GetComputerNameExW(format, buffer, ref size))
         {
             Errors.ThrowIfLastErrorNot(WindowsError.ERROR_MORE_DATA);
             buffer.EnsureCharCapacity(size);
         }
         buffer.Length = size;
         return buffer.ToString();
     });
 }
示例#5
0
        public static void Can_call_lptstr_extern_function(COMPUTER_NAME_FORMAT nameType)
        {
            int length = 255;
            var buffer = Pointer.Create <LPTSTR>(Marshal.AllocCoTaskMem(Marshal.SystemDefaultCharSize * length));

            try
            {
                bool successful = GetComputerNameEx(nameType, buffer, ref length);
                if (!successful)
                {
                    throw Marshal.GetExceptionForHR(Marshal.GetLastWin32Error());
                }
                var path = AutoStringPointer.MarshalToString(buffer, length);
                Assert.NotNull(path);
            }
            finally
            {
                Marshal.FreeCoTaskMem(buffer.Pointer);
            }
        }
 public static extern BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT NameType, [NativeTypeName("LPCSTR")] sbyte *lpBuffer);
 public static extern BOOL SetComputerNameEx2W(COMPUTER_NAME_FORMAT NameType, [NativeTypeName("DWORD")] uint Flags, [NativeTypeName("LPCWSTR")] ushort *lpBuffer);
 public static extern BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT NameType, [NativeTypeName("LPWSTR")] ushort *lpBuffer, [NativeTypeName("LPDWORD")] uint *nSize);
示例#9
0
 static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType, StringBuilder lpBuffer, ref uint lpnSize);
        private static string InnerGetComputerName(COMPUTER_NAME_FORMAT nameType)
        {
            StringBuilder strB = new StringBuilder(1024);

            uint nSize = (uint)strB.Capacity;

            NativeMethods.GetComputerNameEx(nameType, strB, ref nSize);

            return strB.ToString();
        }
示例#11
0
 public static extern bool SetComputerNameEx(COMPUTER_NAME_FORMAT NameType, [In] [MarshalAs(UnmanagedType.LPTStr)] string lpBuffer);
示例#12
0
 private static extern int GetComputerNameEx(COMPUTER_NAME_FORMAT NameType, StringBuilder nameBuffer, ref int bufferSize);
示例#13
0
 public static extern int SetComputerNameExW(COMPUTER_NAME_FORMAT NameType, [NativeTypeName("LPCWSTR")] ushort *lpBuffer);
示例#14
0
        private string InnerGetComputerName(COMPUTER_NAME_FORMAT nameType)
        {
            StringBuilder strB = new StringBuilder(1024);

            int nSize = strB.Capacity;

            GetComputerNameEx(nameType, strB, ref nSize);

            return strB.ToString();
        }
示例#15
0
 public static extern int GetComputerNameExA(COMPUTER_NAME_FORMAT NameType, [NativeTypeName("LPSTR")] sbyte *lpBuffer, [NativeTypeName("LPDWORD")] uint *nSize);
示例#16
0
static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT name, [Out] StringBuilder lbuffer, ref uint size);
示例#17
0
 static public extern bool SetComputerNameEx(COMPUTER_NAME_FORMAT NameType,
                                             string lpBuffer);
示例#18
0
 private static extern bool SetComputerNameEx(COMPUTER_NAME_FORMAT nameType, [MarshalAs(UnmanagedType.LPTStr)] string lpBuffer);
示例#19
0
 public static extern bool GetComputerNameExW(
     COMPUTER_NAME_FORMAT NameType,
     SafeHandle lpBuffer,
     ref uint lpnSize);
示例#20
0
 public static void Get_required_length_if_lpstr_is_null(COMPUTER_NAME_FORMAT nameType)
 {
     int  length     = 0;
     bool successful = GetComputerNameExA(nameType, default, ref length);
示例#21
0
 public static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType, StringBuilder lpBuffer, ref uint lpnSize);
示例#22
0
 public static extern bool GetComputerNameEx([In] COMPUTER_NAME_FORMAT nameType, [In, Out, MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpBuffer, [In, Out] ref int lpnSize);
示例#23
0
 public static extern bool SetComputerNameEx(COMPUTER_NAME_FORMAT NameType, string lpBuffer);
示例#24
0
 public static extern bool GetComputerNameEx(
     COMPUTER_NAME_FORMAT NameType, [Out] [MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpBuffer, ref uint nSize);
示例#25
0
 private static extern int GetComputerNameEx(COMPUTER_NAME_FORMAT NameType, StringBuilder nameBuffer, ref int bufferSize);