[DllImport("advapi32.dll", SetLastError = true)]
internal unsafe static extern BOOL InitializeSid(
IntPtr Sid,
SID_IDENTIFIER_AUTHORITY* pIdentifierAuthority,
byte nSubAuthorityCount);
Declare Function InitializeSid Lib "advapi32.dll" (ByVal psid As IntPtr, ByRef pIdentifierAuthority As SID_IDENTIFIER_AUTHORITY, ByVal nSubAuthorityCount As Byte) As Integer
None.
Please add some!
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
Do you know one? Please contribute it!