> A robust solution which also reduces syscalls does not necessarily > require a precise answer here. > > I suggest writing a wrapper function which has on the stack > CSTR sidbuf[SECURITY_MAX_SID_SIZE]; > and calls LookupAccountNameA() passing sidbuf as Sid. > If it succeeds, then malloc() returned cbSid value and copy sidbuf[]. > If it fails because the buffer is too small, then malloc() the returned > cbSid value and call LookupAccountNameA() again. > > Doing the above will keep memory use to a minimum, and will generally > call LookupAccountNameA() once per wrapper func invocation rather than > twice.
+1 ! Anton Lavrentiev Contractor NIH/NLM/NCBI -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple