Declare Function LsaEnumerateAccountRights Lib "advapi32.dll" (TODO) As TODO
User-Defined Types:
None.
Notes:
Just making a start. I'll be back soon when I've researched how to deal with NTSTATUS codes. Got to go dig in some header files.
Right - got it - NTSTATUS is a long, so I guess an IntPtr - I guess the place to document this is LsaNtStatusToWinError
...or - do you only use an IntPtr for an opaque handle? Probably, I should think, so the return value should be a uint I suppose.
Meanwhile - LSA_HANDLE is a PVOID - that makes sense for an opaque handle, so I guess I'll use an IntPtr again. Not completely confident about this though.
UserRights should be a pointer to an array of LSA_UNICODE_STRING structs. Still have to figure out exactly how this goes.
Now I see everyone else is using byte[] for SIDs. Must be a reason. Another todo.
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
TODO - a short description
3/26/2018 12:56:54 PM - 98.213.119.236
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
The SID_IDENTIFIER_AUTHORITY structure represents the top-level authority of a security identifier (SID).