다음을 통해 공유


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

추가 정보

PerfSetULongCounterValue

PerfSetULongLongCounterValue