Feedback

C# - Konvertiert ein Byte Array in ein SID String.

Veröffentlicht von am 16.03.2007
(1 Bewertungen)
Konvertiert ein Byte Array aus dem AD (z.B. objectSid) in ein SID String.

using System.Runtime.InteropServices;
GFU-Schulungen  [Anzeige]

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

/// <summary>
/// Konvertiert ein Byte Array in ein SID String.
/// </summary>
/// <param name="sid"></param>
/// <returns></returns>
public string ConvertSid(byte[] sid)
{
	string sidString;
	IntPtr sidPtr;
	IntPtr sidStringPtr  = IntPtr.Zero;
	int res;

	sidPtr = Marshal.AllocHGlobal(sid.Length);
	Marshal.Copy(sid, 0, sidPtr, sid.Length);
	res = ConvertSidToStringSid(sidPtr, ref sidStringPtr);
	if (res == 0)
	{
		throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error());
	}
	sidString = Marshal.PtrToStringAuto(sidStringPtr);
	Marshal.FreeHGlobal(sidPtr);
	Marshal.FreeHGlobal(sidStringPtr);
	return sidString;
}

[DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int ConvertSidToStringSid(IntPtr pSID, ref IntPtr pSidString);
Abgelegt unter SID.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!