PFNPROCESSGROUPPOLICY 콜백 함수(userenv.h)
ProcessGroupPolicy 함수는 정책을 적용할 때 사용되는 애플리케이션 정의 콜백 함수입니다. PFNPROCESSGROUPPOLICY 형식은 이 콜백 함수에 대한 포인터를 정의합니다. ProcessGroupPolicy 는 애플리케이션 정의 함수 이름의 자리 표시자입니다.
이 콜백 함수는 RSoP(결과 정책 집합) 처리에 유용하지 않습니다. 대신 ProcessGroupPolicyEx 콜백 함수를 사용합니다.
구문
PFNPROCESSGROUPPOLICY Pfnprocessgrouppolicy;
DWORD Pfnprocessgrouppolicy(
[in] DWORD dwFlags,
[in] HANDLE hToken,
[in] HKEY hKeyRoot,
[in] PGROUP_POLICY_OBJECT pDeletedGPOList,
[in] PGROUP_POLICY_OBJECT pChangedGPOList,
[in] ASYNCCOMPLETIONHANDLE pHandle,
[in] BOOL *pbAbort,
[in] PFNSTATUSMESSAGECALLBACK pStatusCallback
)
{...}
매개 변수
[in] dwFlags
이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다.
GPO_INFO_FLAG_MACHINE
사용자 정책이 아닌 컴퓨터 정책을 적용합니다.
GPO_INFO_FLAG_BACKGROUND
정책의 백그라운드 새로 고침을 수행합니다.
GPO_INFO_FLAG_ASYNC_FOREGROUND
정책의 비동기 포그라운드 새로 고침을 수행합니다. 포그라운드 정책 애플리케이션에 대한 자세한 내용은 그룹 정책 초기 처리를 참조하세요.
GPO_INFO_FLAG_SLOWLINK
정책이 느린 링크에 적용되고 있습니다.
GPO_INFO_FLAG_VERBOSE
자세한 정보 표시 출력을 이벤트 로그에 씁니다.
GPO_INFO_FLAG_NOCHANGES
GPO에 대한 변경 내용이 검색되지 않았습니다.
GPO_INFO_FLAG_LINKTRANSITION
정책 애플리케이션 간에 링크 속도의 변경이 감지되었습니다.
GPO_INFO_FLAG_LOGRSOP_TRANSITION
이전 정책의 애플리케이션과 현재 정책의 애플리케이션 간에 RSoP 로깅의 변경 내용이 검색되었습니다.
GPO_INFO_FLAG_FORCED_REFRESH
강제 정책 새로 고침이 적용되고 있습니다.
GPO_INFO_FLAG_SAFEMODE_BOOT
안전 모드 플래그입니다.
[in] hToken
LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken 또는 OpenThreadToken 함수에서 반환된 사용자 또는 컴퓨터에 대한 토큰입니다. 이 토큰에는 TOKEN_IMPERSONATE 및 TOKEN_QUERY 액세스 권한이 있어야 합니다. 자세한 내용은 Access-Token 개체 및 클라이언트 가장에 대한 액세스 권한을 참조하세요.
[in] hKeyRoot
HKEY_LOCAL_MACHINE 또는 HKEY_CURRENT_USER 레지스트리 키에 대한 핸들입니다.
[in] pDeletedGPOList
삭제된 GPO 구조 목록을 수신하는 포인터입니다. 자세한 내용은 GROUP_POLICY_OBJECT 참조하세요.
[in] pChangedGPOList
변경된 GPO 구조 목록을 수신하는 포인터입니다. 자세한 내용은 GROUP_POLICY_OBJECT 참조하세요.
[in] pHandle
비동기 완료 핸들입니다. 콜백 함수가 비동기 처리를 지원하지 않는 경우 이 핸들은 0입니다.
[in] pbAbort
GPO 처리를 계속할지 여부를 지정합니다. 이 매개 변수가 TRUE이면 GPO 처리가 중단됩니다. 이 매개 변수가 FALSE이면 GPO 처리가 계속됩니다.
[in] pStatusCallback
상태 메시지를 표시하는 StatusMessageCallback 콜백 함수에 대한 포인터입니다. 이 매개 변수는 특정 경우에 NULL 일 수 있습니다. 예를 들어 시스템이 백그라운드에서 정책을 적용하는 경우 상태 사용자 인터페이스가 없고 애플리케이션이 표시할 상태 메시지를 보낼 수 없습니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
반환 값
정책이 성공적으로 적용된 경우 ERROR_SUCCESS 반환합니다. GPO 목록에 변경 내용이 없고 확장을 다시 호출할 경우 ERROR_OVERRIDE_NOCHANGES 반환합니다. ERROR_OVERRIDE_NOCHANGES 반환하면 NoGPOListChanges 레지스트리 값이 설정된 경우에도 확장이 다시 호출됩니다. (이 레지스트리 값에 대한 자세한 내용은 비고를 참조하세요.) 그렇지 않으면 시스템 오류 코드를 반환합니다.
설명
자세한 내용은 그룹 정책 클라이언트 쪽 확장 구현을 참조하세요.
시스템은 로컬 컴퓨터에 대한 광범위한 권한이 있는 LocalSystem 계정의 컨텍스트에서 이 함수를 호출합니다. 네트워크 리소스를 사용하려면 hToken 매개 변수에 제공된 토큰을 사용하여 사용자 또는 컴퓨터를 가장해야 합니다.
이 콜백 함수를 등록하려면 다음 레지스트리 키 아래에 하위 키를 만듭니다.
Hkey_local_machine\소프트웨어\Microsoft\\ Windows NT CurrentVersion\Winlogon\GPExtensions\ClientExtensionGuid
하위 키는 고유하게 GUID여야 합니다. 다음 값이 포함되어야 합니다.
정책을 동기적으로 적용하는 경우에만 상태 메시지를 업데이트해야 합니다. 이렇게 하면 긴 정책 애플리케이션 중에 피드백과 진단 제공할 수 있습니다. 상태 메시지 콜백 함수를 사용하려면 pStatusCallback이 NULL이 아닌지 확인해야 합니다. 그런 다음 메시지 문자열 리소스를 로드합니다. 상태 함수를 호출할 때 문자열이 자세한지 여부를 나타내야 합니다. 문자열이 자세한 정보 표시인 경우 콜백 함수는 컴퓨터가 자세한 정보 표시 모드인지 확인하고 메시지를 표시합니다. 자세한 내용은 StatusMessageCallback을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | userenv.h |