Microsoft KB Archive/102101

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

INFO: Extracting the SID from an ACE

Q102101



The information in this article applies to:


  • Microsoft Win32 Application Programming Interface (API), used with:
    • the operating system: Microsoft Windows NT, versions 3.1, 3.5
    • the operating system: Microsoft Windows 2000





SUMMARY

To access the security identifier (SID) contained in an access control entry (ACE), the following syntax can be used:

   PSID pSID;

   if((((PACE_HEADER)pTempAce)->AceType) == ACCESS_ALLOWED_ACE_TYPE)
   {
      pSID=(PSID)&((PACCESS_ALLOWED_ACE)pTempAce)->SidStart;
   } 



MORE INFORMATION

The "if" statement checks the type of ACE, which is one of the following values:

   ACCESS_ALLOWED_ACE_TYPE
   ACCESS_DENIED_ACE_TYPE
   SYSTEM_AUDIT_ACE_TYPE 

The conditional statement casts pTempAce (the pointer to the ACE) to a PACCESS_ALLOWED_ACE structure. The address of the SidStart member is then cast to a PSID and assigned to the pSID variable. pSID can now be used with any Win32 Security application programming interface (API) that takes a PSID as a parameter.

Additional query words: 3.10 3.50

Keywords : kbAccCtrl kbKernBase kbOSWin2000 kbSecurity kbDSupport kbGrpDSKernBase
Issue type : kbinfo
Technology : kbAudDeveloper kbWin32sSearch kbWin32API


Last Reviewed: October 27, 2000
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.