亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ac.c

?? ReactOS是一些高手根據Windows XP的內核編寫出的類XP。內核實現機理和API函數調用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統內核的人可以看一看。
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* $Id: ac.c 24526 2006-10-15 16:52:25Z weiden $
 *
 * COPYRIGHT:       See COPYING in the top level directory
 * PROJECT:         ReactOS system libraries
 * FILE:            lib/advapi32/sec/ac.c
 * PURPOSE:         ACL/ACE functions
 */

#include <advapi32.h>

#define NDEBUG
#include <debug.h>

/* --- ACL --- */

/*
 * @implemented
 */
BOOL
STDCALL
GetAclInformation (
	PACL			pAcl,
	LPVOID			pAclInformation,
	DWORD			nAclInformationLength,
	ACL_INFORMATION_CLASS	dwAclInformationClass
	)
{
	NTSTATUS Status;

	Status = RtlQueryInformationAcl (pAcl,
	                                 pAclInformation,
	                                 nAclInformationLength,
	                                 dwAclInformationClass);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
InitializeAcl (
	PACL	pAcl,
	DWORD	nAclLength,
	DWORD	dwAclRevision
	)
{
	NTSTATUS Status;

	Status = RtlCreateAcl (pAcl,
	                       nAclLength,
	                       dwAclRevision);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
IsValidAcl (
	PACL	pAcl
	)
{
	return RtlValidAcl (pAcl);
}


/*
 * @implemented
 */
BOOL
STDCALL
SetAclInformation (
	PACL			pAcl,
	LPVOID			pAclInformation,
	DWORD			nAclInformationLength,
	ACL_INFORMATION_CLASS	dwAclInformationClass
	)
{
	NTSTATUS Status;

	Status = RtlSetInformationAcl (pAcl,
	                               pAclInformation,
	                               nAclInformationLength,
	                               dwAclInformationClass);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/* --- ACE --- */

/*
 * @implemented
 */
BOOL
STDCALL
AddAccessAllowedAce (
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	AccessMask,
	PSID	pSid
	)
{
	NTSTATUS Status;

	Status = RtlAddAccessAllowedAce (pAcl,
	                                 dwAceRevision,
	                                 AccessMask,
	                                 pSid);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL STDCALL
AddAccessAllowedAceEx(PACL pAcl,
		      DWORD dwAceRevision,
		      DWORD AceFlags,
		      DWORD AccessMask,
		      PSID pSid)
{
  NTSTATUS Status;

  Status = RtlAddAccessAllowedAceEx(pAcl,
                                    dwAceRevision,
                                    AceFlags,
                                    AccessMask,
                                    pSid);
  if (!NT_SUCCESS(Status))
  {
    SetLastError(RtlNtStatusToDosError(Status));
    return FALSE;
  }

  return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAccessAllowedObjectAce(
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	AceFlags,
	DWORD	AccessMask,
	GUID*	ObjectTypeGuid,
	GUID*	InheritedObjectTypeGuid,
	PSID	pSid)
{
  NTSTATUS Status;

  Status = RtlAddAccessAllowedObjectAce(pAcl,
                                        dwAceRevision,
                                        AceFlags,
                                        AccessMask,
                                        ObjectTypeGuid,
                                        InheritedObjectTypeGuid,
                                        pSid);
  if (!NT_SUCCESS(Status))
  {
    SetLastError(RtlNtStatusToDosError(Status));
    return FALSE;
  }

  return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAccessDeniedAce (
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	AccessMask,
	PSID	pSid
	)
{
	NTSTATUS Status;

	Status = RtlAddAccessDeniedAce (pAcl,
	                                dwAceRevision,
	                                AccessMask,
	                                pSid);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL STDCALL
AddAccessDeniedAceEx(PACL pAcl,
		     DWORD dwAceRevision,
		     DWORD AceFlags,
		     DWORD AccessMask,
		     PSID pSid)
{
  NTSTATUS Status;

  Status = RtlAddAccessDeniedAceEx(pAcl,
                                   dwAceRevision,
                                   AceFlags,
                                   AccessMask,
                                   pSid);
  if (!NT_SUCCESS(Status))
  {
    SetLastError(RtlNtStatusToDosError(Status));
    return FALSE;
  }

  return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAccessDeniedObjectAce(
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	AceFlags,
	DWORD	AccessMask,
	GUID*   ObjectTypeGuid,
	GUID*   InheritedObjectTypeGuid,
	PSID	pSid)
{
  NTSTATUS Status;

  Status = RtlAddAccessDeniedObjectAce(pAcl,
                                       dwAceRevision,
                                       AceFlags,
                                       AccessMask,
                                       ObjectTypeGuid,
                                       InheritedObjectTypeGuid,
                                       pSid);
  if (!NT_SUCCESS(Status))
  {
    SetLastError(RtlNtStatusToDosError(Status));
    return FALSE;
  }

  return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAce (
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	dwStartingAceIndex,
	LPVOID	pAceList,
	DWORD	nAceListLength
	)
{
	NTSTATUS Status;

	Status = RtlAddAce (pAcl,
	                    dwAceRevision,
	                    dwStartingAceIndex,
	                    pAceList,
	                    nAceListLength);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAuditAccessAce (
	PACL	pAcl,
	DWORD	dwAceRevision,
	DWORD	dwAccessMask,
	PSID	pSid,
	BOOL	bAuditSuccess,
	BOOL	bAuditFailure
	)
{
	NTSTATUS Status;

	Status = RtlAddAuditAccessAce (pAcl,
	                               dwAceRevision,
	                               dwAccessMask,
	                               pSid,
	                               bAuditSuccess,
	                               bAuditFailure);
	if (!NT_SUCCESS(Status))
	{
		SetLastError (RtlNtStatusToDosError (Status));
		return FALSE;
	}

	return TRUE;
}


/*
 * @implemented
 */
BOOL STDCALL
AddAuditAccessAceEx(PACL pAcl,
		    DWORD dwAceRevision,
		    DWORD AceFlags,
		    DWORD dwAccessMask,
		    PSID pSid,
		    BOOL bAuditSuccess,
		    BOOL bAuditFailure)
{
  NTSTATUS Status;

  Status = RtlAddAuditAccessAceEx(pAcl,
                                  dwAceRevision,
                                  AceFlags,
                                  dwAccessMask,
                                  pSid,
                                  bAuditSuccess,
                                  bAuditFailure);
  if (!NT_SUCCESS(Status))
  {
    SetLastError(RtlNtStatusToDosError(Status));
    return FALSE;
  }

  return TRUE;
}


/*
 * @implemented
 */
BOOL
STDCALL
AddAuditAccessObjectAce(
	PACL	pAcl,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色黄大片手机版| 中文字幕一区二区在线播放 | 天堂久久久久va久久久久| 亚洲国产一区二区在线播放| 91精品啪在线观看国产60岁| 久久99九九99精品| 欧美国产一区在线| 97精品视频在线观看自产线路二| 亚洲精品视频在线| 欧美精品日韩精品| 国产精品亚洲一区二区三区在线 | 国产欧美精品一区二区三区四区 | 久久99日本精品| 国产日韩欧美综合一区| av在线播放成人| 午夜欧美一区二区三区在线播放| 日韩欧美亚洲一区二区| 成人在线视频首页| 亚洲成年人网站在线观看| 欧美不卡一区二区| 91丨九色丨蝌蚪丨老版| 青青草精品视频| 欧美韩国日本综合| 欧美日韩大陆一区二区| 国产一区二区精品久久99| 亚洲乱码精品一二三四区日韩在线| 欧美精选一区二区| 国产精品一级片在线观看| 亚洲综合一二区| 欧美精品一区二区三区久久久 | 成人久久18免费网站麻豆| 一区二区三区四区在线| 欧美成人aa大片| 91视频www| 久久精品国内一区二区三区| 亚洲欧美一区二区在线观看| 91精品久久久久久久99蜜桃 | 在线精品视频免费观看| 韩国成人福利片在线播放| 亚洲免费伊人电影| 久久综合给合久久狠狠狠97色69| 在线看国产一区| 国产不卡高清在线观看视频| 丝袜美腿亚洲一区| 1区2区3区欧美| 精品久久久久久久久久久久久久久| 91亚洲精品久久久蜜桃| 精品亚洲国产成人av制服丝袜| 亚洲视频小说图片| 精品粉嫩aⅴ一区二区三区四区| 92精品国产成人观看免费| 国精产品一区一区三区mba桃花| 亚洲影院在线观看| 欧美激情一区二区三区全黄| 韩国一区二区三区| 午夜激情综合网| 亚洲三级在线观看| 久久久精品国产免费观看同学| 欧美日韩精品久久久| av不卡在线播放| 国产美女一区二区三区| 日韩国产一二三区| 亚洲免费伊人电影| 国产精品久久久久久久久动漫 | 欧美一区二区三区四区久久| 91碰在线视频| 懂色av噜噜一区二区三区av| 久久精品噜噜噜成人av农村| 亚洲成人动漫av| 亚洲欧美电影一区二区| 中文久久乱码一区二区| 精品久久久久久亚洲综合网| 欧美妇女性影城| 欧美中文字幕一区二区三区亚洲| 成人ar影院免费观看视频| 国内精品免费**视频| 日韩国产精品91| 亚洲成a人在线观看| 亚洲欧美国产三级| 国产精品福利av| 国产欧美精品一区| 26uuu精品一区二区三区四区在线| 欧美一三区三区四区免费在线看| 在线观看一区二区视频| 91亚洲精品久久久蜜桃| www.在线成人| 成人免费毛片aaaaa**| 国产福利电影一区二区三区| 韩国中文字幕2020精品| 久久99久久99小草精品免视看| 日本欧美在线看| 日韩国产精品91| 日韩精品一级中文字幕精品视频免费观看| 一区二区日韩电影| 一区二区三区欧美在线观看| 亚洲日本一区二区| 亚洲黄色尤物视频| 亚洲日本在线a| 亚洲黄色av一区| 亚洲精品写真福利| 一区二区三区中文在线| 一区二区三区日韩精品| 亚洲永久精品大片| 婷婷丁香久久五月婷婷| 天堂av在线一区| 日本美女一区二区三区视频| 免费人成网站在线观看欧美高清| 日韩激情av在线| 日本欧美肥老太交大片| 久久69国产一区二区蜜臀| 久久91精品国产91久久小草| 国产一区二区三区av电影| 国产精品综合在线视频| 成人激情小说乱人伦| eeuss鲁一区二区三区| 99视频有精品| 在线观看精品一区| 欧美福利视频导航| 国产成人av网站| 不卡的av网站| 一本久久a久久精品亚洲| 欧美色男人天堂| 欧美一区二区成人6969| 精品国产乱码久久久久久老虎| 久久精品一区八戒影视| 国产精品网站在线播放| 日韩理论在线观看| 亚洲午夜日本在线观看| 日本免费在线视频不卡一不卡二| 激情久久五月天| 99视频精品免费视频| 欧美三级视频在线| 日韩一级精品视频在线观看| www成人在线观看| 中文字幕一区二区三区四区 | 国产亚洲制服色| 国产精品久久久久9999吃药| 亚洲精品乱码久久久久久久久| 亚洲h在线观看| 激情综合色播激情啊| caoporn国产一区二区| 欧美午夜精品理论片a级按摩| 91精品国产91久久久久久最新毛片 | 欧美偷拍一区二区| 欧美大片免费久久精品三p| 国产日韩欧美麻豆| 亚洲国产日产av| 国内外成人在线视频| www.激情成人| 欧美精品一二三四| 国产亚洲婷婷免费| 亚洲麻豆国产自偷在线| 欧美a级一区二区| 成人丝袜18视频在线观看| 欧美综合色免费| 久久久精品免费观看| 亚洲一区二区在线视频| 久久精品久久综合| 91首页免费视频| 欧美一级高清片| **网站欧美大片在线观看| 免费成人在线视频观看| aaa亚洲精品| 日韩免费视频一区| 亚洲视频在线一区| 久久99精品久久久久久国产越南 | 人人精品人人爱| 成人高清免费观看| 在线成人高清不卡| 国产精品国产三级国产aⅴ中文| 亚洲福利视频三区| 国产999精品久久| 欧美电影在线免费观看| 中文字幕一区二区三区视频| 美美哒免费高清在线观看视频一区二区 | 国产一区二区三区在线观看精品| 91蜜桃视频在线| ww久久中文字幕| 五月婷婷欧美视频| av中文字幕在线不卡| 欧美电影精品一区二区| 亚洲码国产岛国毛片在线| 国产精品一区二区久久精品爱涩| 精品视频123区在线观看| 中文在线资源观看网站视频免费不卡| 日韩国产欧美在线播放| 色婷婷av一区二区| 久久久激情视频| 免费av成人在线| 欧美午夜在线观看| 中文字幕一区在线| 国产成人精品亚洲午夜麻豆| 欧美一区二区三区思思人| 一级女性全黄久久生活片免费| 国产成人精品免费| 日韩欧美国产高清| 亚洲va欧美va人人爽午夜| 99re这里只有精品首页| 久久精品视频一区| 免费日韩伦理电影|