public virtual Ace[] GetShareSecurity(bool resolveSids)
{
string p = Url.AbsolutePath;
MsrpcShareGetInfo rpc;
DcerpcHandle handle;
Ace[] aces;
ResolveDfs(null);
string server = GetServerWithDfs();
rpc = new MsrpcShareGetInfo(server, Tree.Share);
handle = DcerpcHandle.GetHandle("ncacn_np:" + server + "[\\PIPE\\srvsvc]", Auth);
try
{
handle.Sendrecv(rpc);
if (rpc.Retval != 0)
{
throw new SmbException(rpc.Retval, true);
}
aces = rpc.GetSecurity();
if (aces != null)
{
ProcessAces(aces, resolveSids);
}
}
finally
{
try
{
handle.Close();
}
catch (IOException ioe)
{
if (Log.Level >= 1)
{
Runtime.PrintStackTrace(ioe, Log);
}
}
}
return aces;
}