TdhGetProperty 함수(tdh.h)
이벤트 데이터에서 속성 값을 검색합니다.
구문
TDHSTATUS TdhGetProperty(
[in] PEVENT_RECORD pEvent,
[in] ULONG TdhContextCount,
[in] PTDH_CONTEXT pTdhContext,
[in] ULONG PropertyDataCount,
[in] PPROPERTY_DATA_DESCRIPTOR pPropertyData,
[in] ULONG BufferSize,
[out] PBYTE pBuffer
);
매개 변수
[in] pEvent
EventRecordCallback 콜백에 전달된 이벤트 레코드입니다. 자세한 내용은 EVENT_RECORD 구조를 참조하세요.
[in] TdhContextCount
pTdhContext의 요소 수입니다.
[in] pTdhContext
WPP 또는 클래식 ETW 이벤트에 대한 컨텍스트 값의 배열입니다. 그렇지 않으면 NULL입니다. 자세한 내용은 TDH_CONTEXT 구조를 참조하세요. 배열에 중복 컨텍스트 형식이 포함되어서는 안됩니다.
[in] PropertyDataCount
pPropertyData의 데이터 설명자 구조 수입니다.
[in] pPropertyData
검색할 속성을 정의하는 PROPERTY_DATA_DESCRIPTOR 구조체의 배열입니다.
TdhGetPropertySize 함수를 호출하여 속성에 필요한 버퍼 크기를 검색한 경우 동일한 데이터 설명자를 사용할 수 있습니다.
구조체의 멤버가 아닌 속성을 검색하는 경우 단일 데이터 설명자를 지정할 수 있습니다. 구조체의 멤버인 속성을 검색하는 경우 두 데이터 설명자의 배열을 지정합니다(구조체는 다른 구조를 포함하거나 참조할 수 없음).
[in] BufferSize
pBuffer 버퍼의 크기(바이트)입니다. TdhGetPropertySize 함수를 호출할 때 pPropertySize 매개 변수에서 이 값을 가져올 수 있습니다.
[out] pBuffer
속성 데이터를 수신하는 사용자가 할당한 버퍼입니다.
반환 값
성공하면 ERROR_SUCCESS 반환합니다. 그렇지 않으면 이 함수는 다른 코드 외에도 다음 반환 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
이벤트에 대한 스키마를 찾을 수 없거나 지정된 속성을 찾을 수 없습니다. |
|
pBuffer 버퍼가 너무 작습니다. 필요한 버퍼 크기를 얻으려면 TdhGetPropertySize를 호출합니다. |
|
하나 이상의 매개 변수가 잘못되었습니다. |
|
매니페스트의 resourceFileName 특성에는 공급자 이진 파일의 위치가 포함됩니다. 매니페스트를 등록하면 위치가 레지스트리에 기록됩니다. TDH가 등록된 위치에 따라 이진 파일을 찾을 수 없습니다. |
|
WMI 서비스를 사용할 수 없습니다. |
설명
이벤트가 WPP 또는 클래식 ETW 이벤트인 경우 이벤트 정보를 구문 분석하는 데 사용되는 컨텍스트 정보를 지정할 수 있습니다. EVENT_HEADER_FLAG_TRACE_MESSAGE 플래그가 EVENT_HEADER Flags 멤버에 설정된 경우 이 이벤트는 WPP 이벤트입니다(EVENT_RECORDEventHeader 멤버 참조). EVENT_HEADER_FLAG_CLASSIC_HEADER 플래그가 설정된 경우 이벤트는 레거시 ETW 이벤트입니다.
WPP 이벤트 및 해당 데이터 형식에 대한 속성 목록은 PROPERTY_DATA_DESCRIPTOR.
예제
이 함수를 호출하여 최상위 속성 또는 구조체의 멤버 값을 검색하는 방법을 보여 주는 예제는 TdhGetProperty를 사용하여 이벤트 데이터 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | tdh.h |
라이브러리 | Tdh.lib |
DLL | Tdh.dll |