Exemplo n.º 1
0
        internal override void Delete(Principal p)
        {
            GlobalDebug.WriteLineIf(GlobalDebug.Info, "SAMStoreCtx", "Delete");
            Debug.Assert(p.fakePrincipal == false);

            // Principal.Delete() shouldn't be calling us on an unpersisted Principal.
            Debug.Assert(p.unpersisted == false);
            Debug.Assert(p.UnderlyingObject != null);

            Debug.Assert(p.UnderlyingObject is DirectoryEntry);

            try
            {
                SDSUtils.DeleteDirectoryEntry((DirectoryEntry)p.UnderlyingObject);
            }
            catch (System.Runtime.InteropServices.COMException e)
            {
                throw ExceptionHelper.GetExceptionFromCOMException(e);
            }
        }