PerfSetCounterRefValue 함수(perflib.h)
값이 실제 데이터에 대한 포인터인 카운터의 값을 업데이트. 공급자는 이 함수를 사용합니다.
구문
ULONG PerfSetCounterRefValue(
[in] HANDLE Provider,
[in] PPERF_COUNTERSET_INSTANCE Instance,
[in] ULONG CounterId,
[in] PVOID Address
);
매개 변수
[in] Provider
공급자의 핸들입니다. CTRPP 도구가 생성한 핸들 변수를 사용합니다. 변수의 이름은 공급자 요소의 기호 특성을 참조하세요.
Windows Vista: PerfStartProvider 함수는 핸들을 반환합니다.
[in] Instance
카운터 집합 instance 포함하는 PERF_COUNTERSET_INSTANCE 구조체입니다. PerfCreateInstance 함수는 이 포인터를 반환합니다.
[in] CounterId
instance 블록에서 업데이트할 카운터를 고유하게 식별하는 식별자입니다. 식별자는 카운터 요소의 id 특성에 정의되며 instance 블록에 있는 PERF_COUNTER_INFO 구조체 중 하나의 CounterId 멤버와 일치해야 합니다. CTRPP 도구가 생성한 카운터 ID 상수를 사용합니다. 상수의 이름은 카운터 요소의 기호 특성을 참조하세요.
Windows Vista: 카운터 ID 상수를 사용할 수 없습니다.
[in] Address
실제 카운터 데이터에 대한 포인터입니다.
NULL이면 소비자는 ERROR_NO_DATA 받습니다.
카운터 데이터가 참조로 액세스됨을 나타내려면 매니페스트의 카운터 선언에 이름 특성이 "reference"로 설정된 counterAttribute 요소가 포함되어야 합니다.
반환 값
함수가 성공하면 ERROR_SUCCESS 반환합니다.
함수가 실패하면 반환 값은 시스템 오류 코드입니다.
설명
원시 카운터 데이터에 대한 참조를 지정하기 위한 편리한 함수입니다. 원시 카운터 데이터에 대한 참조를 직접 업데이트하려면 PERF_COUNTER_INFO 구조체의 Offset 멤버를 사용하여 특정 카운터의 카운터 값에 액세스합니다. Attrib 멤버는 PERF_ATTRIB_BY_REFERENCE 플래그를 포함해야 합니다. PERF_COUNTERSET_INSTANCE 구조 블록에는 하나 이상의 카운터 정보 구조가 포함되어 있습니다.
카운터 형식에 따라 포인터는 4 바이트 또는 8 바이트 부호 없는 정수 를 참조해야 합니다. 카운터 데이터를 수집할 때 PERFLIB는 포인터를 역참조하고 실제 데이터를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | perflib.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |