Anonymous
|
sorry for being even later with my answer, but I did not have time to test your claims. I do understand that you say: once you move the call to ACLLookupAccess in a separate function it works, but if you call it in the same routine where you obtain the handles it does not. I tried to move the content of your subroutine in the validateAccess() routine and did not add anything apart of commenting out of inRC and substituting names of subroutine parameters for variables you use in validateAccess(). Again this works for me in both ways -- as a separate subroutine or as inline code. So, doh... dunno what to say. Dim hPrivNames As Long ' Dim intRC As Integer Dim intAxsLevel As Integer Dim privileges As Long
Dim accessFlags As Integer intRC% = W32ACLLookupAccess(lngHACL&, lngNamesLock&, intAxsLevel, privileges, accessFlags, hPrivNames)
If intRC% = 0 Then Call W32OSMemFree(hPrivNames) End If intAxsLvl% = intAxsLevel
|