Export (0) Print
Expand All
Expand Minimize

AllocateAndInitializeSid function

The AllocateAndInitializeSid function allocates and initializes a security identifier (SID) with up to eight subauthorities.

Syntax


BOOL WINAPI AllocateAndInitializeSid(
  _In_   PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
  _In_   BYTE nSubAuthorityCount,
  _In_   DWORD dwSubAuthority0,
  _In_   DWORD dwSubAuthority1,
  _In_   DWORD dwSubAuthority2,
  _In_   DWORD dwSubAuthority3,
  _In_   DWORD dwSubAuthority4,
  _In_   DWORD dwSubAuthority5,
  _In_   DWORD dwSubAuthority6,
  _In_   DWORD dwSubAuthority7,
  _Out_  PSID *pSid
);

Parameters

pIdentifierAuthority [in]

A pointer to a SID_IDENTIFIER_AUTHORITY structure. This structure provides the top-level identifier authority value to set in the SID.

nSubAuthorityCount [in]

Specifies the number of subauthorities to place in the SID. This parameter also identifies how many of the subauthority parameters have meaningful values. This parameter must contain a value from 1 to 8.

For example, a value of 3 indicates that the subauthority values specified by the dwSubAuthority0, dwSubAuthority1, and dwSubAuthority2 parameters have meaningful values and to ignore the remainder.

dwSubAuthority0 [in]

Subauthority value to place in the SID.

dwSubAuthority1 [in]

Subauthority value to place in the SID.

dwSubAuthority2 [in]

Subauthority value to place in the SID.

dwSubAuthority3 [in]

Subauthority value to place in the SID.

dwSubAuthority4 [in]

Subauthority value to place in the SID.

dwSubAuthority5 [in]

Subauthority value to place in the SID.

dwSubAuthority6 [in]

Subauthority value to place in the SID.

dwSubAuthority7 [in]

Subauthority value to place in the SID.

pSid [out]

A pointer to a variable that receives the pointer to the allocated and initialized SID structure.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

A SID allocated with the AllocateAndInitializeSid function must be freed by using the FreeSid function.

This function creates a SID with a 32-bit RID value. For applications that require longer RID values, use CreateWellKnownSid.

Examples

For an example that uses this function, see Creating a Security Descriptor for a New Object or Taking Object Ownership.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Winbase.h (include Windows.h)

Library

Advapi32.lib

DLL

Advapi32.dll

See also

Access Control
Basic Access Control Functions
Well-known SIDs
FreeSid
GetSidIdentifierAuthority
InitializeSid
SID_IDENTIFIER_AUTHORITY

 

 

Community Additions

ADD
Show:
© 2014 Microsoft