InitializeSid (advapi32)
Last changed: -77.125.97.109

.
Summary
The InitializeSid function initializes a security identifier (SID).

C# Signature:

[DllImport("advapi32.dll", SetLastError=true)]
static extern TODO InitializeSid(TODO);

VB Signature:

Declare Function InitializeSid Lib "advapi32.dll" (ByVal psid As IntPtr, ByRef pIdentifierAuthority As SID_IDENTIFIER_AUTHORITY, ByVal nSubAuthorityCount As Byte) As Integer

User-Defined Types:

SID_IDENTIFIER_AUTHORITY

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Dim authorityID As Integer = 123456

Dim sia As SID_IDENTIFIER_AUTHORITY

sia.Value1 = 0

sia.Value2 = 0

sia.Value3 = (authorityID And &HFF000000I) / &H1000000I

sia.Value4 = (authorityID And &HFF0000I) / &H10000I

sia.Value5 = (authorityID And &HFF00I) / &H100I

sia.Value6 = (authorityID And &HFFI) / &H1I

'Allocate a SID large enough for the number of sub-authorities present.

Dim pSID As IntPtr = Runtime.InteropServices.Marshal.AllocHGlobal(GetSidLengthRequired(sidParts.Length - 1))

'Initialise the SID.

If InitializeSid(pSID, sia, sidParts.Length - 1) = 0 Then

  Throw New Exception("Unexpected error trying to initialise a SID.")

End If

Alternative Managed API:

Do you know one? Please contribute it!

Documentation