2013-04-06 3 views
0

SetNamedSecurityInfo() 함수를 사용하여 레지스트리 키의 DACL (임의 액세스 제어 목록)을 설정하려고합니다.레지스트리 키의 개체 이름 확인

레지스트리 키를 설정하는 경우 첫 번째 매개 변수 pObjectName이이 기능을 위해 무엇이되어야할지 모르십니까? 내가 잘 모르겠다는 것은이 문자열의 형식입니다. 즉, 현재 사용자는 HKEY_CURRENT_USER\ or CURRENT_USER을 사용합니까?

레지스트리 키의 경우 개체 이름은 레지스트리 키의 경로 또는 다른 것입니까? 예를 들어

:

LPTSTR pObjectName = _T("HKEY_CURRENT_USER\\Software\\MyAppName"); 
// or should it be... 
LPTSTR pObjectName = _T("CURRENT_USER\\Software\\MyAppName"); 

답변

2

Read the documentationSetNamedSecurityInfo()에 대한 :

다른 개체 형식의 캐릭터 라인 형식에 대한 설명, SE_OBJECT_TYPE를 참조하십시오.

.

SE_REGISTRY_KEY 레지스트리 키를 나타냅니다. 레지스트리 키 개체는 CLASSES_ROOT \ SomePath 또는 \ ComputerName \ CLASSES_ROOT \ SomePath와 같은 원격 레지스트리에있는 로컬 레지스트리에있을 수 있습니다.

레지스트리 키의 이름은 "CLASSES_ROOT", "CURRENT_USER", "MACHINE"및 "USERS"와 같은 미리 정의 된 레지스트리 키를 식별하기 위해 다음의 리터럴 문자열을 사용해야합니다.

LPTSTR pObjectName = _T("CURRENT_USER\\Software\\MyAppName"); 
:

그래서 귀하의 질문에 대한 대답은 이것이다