Share via


Función TdhGetProperty (tdh.h)

Recupera un valor de propiedad de los datos del evento.

Sintaxis

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
);

Parámetros

[in] pEvent

El registro de eventos pasado a la devolución de llamada eventRecordCallback . Para más información, consulte la estructura EVENT_RECORD .

[in] TdhContextCount

Número de elementos de pTdhContext.

[in] pTdhContext

Matriz de valores de contexto solo para eventos DE WPP o ETW clásico; de lo contrario, NULL. Para más información, consulte la estructura TDH_CONTEXT . La matriz no debe contener tipos de contexto duplicados.

[in] PropertyDataCount

Número de estructuras de descriptor de datos en pPropertyData.

[in] pPropertyData

Matriz de estructuras de PROPERTY_DATA_DESCRIPTOR que define la propiedad que se va a recuperar.

Si llamó a la función TdhGetPropertySize para recuperar el tamaño de búfer necesario para la propiedad, puede usar los mismos descriptores de datos.

Si va a recuperar una propiedad que no es miembro de una estructura, puede especificar un único descriptor de datos. Si va a recuperar una propiedad que es miembro de una estructura, especifique una matriz de dos descriptores de datos (las estructuras no pueden contener ni hacer referencia a otras estructuras).

[in] BufferSize

Tamaño del búfer de pBuffer , en bytes. Puede obtener este valor del parámetro pPropertySize al llamar a la función TdhGetPropertySize .

[out] pBuffer

Búfer asignado por el usuario que recibe los datos de propiedad.

Valor devuelto

Devuelve ERROR_SUCCESS si se ejecuta correctamente. De lo contrario, esta función devuelve uno de los siguientes códigos de retorno además de otros.

Código devuelto Descripción
ERROR_NOT_FOUND
No se encontró el esquema del evento o no se encontró la propiedad especificada.
ERROR_INSUFFICIENT_BUFFER
El búfer pBuffer es demasiado pequeño. Para obtener el tamaño de búfer necesario, llame a TdhGetPropertySize.
ERROR_INVALID_PARAMETER
Uno o varios de los parámetros no son válidos.
ERROR_FILE_NOT_FOUND
El atributo resourceFileName del manifiesto contiene la ubicación del binario del proveedor. Al registrar el manifiesto, la ubicación se escribe en el Registro. TDH no pudo encontrar el binario en función de la ubicación registrada.
ERROR_WMI_SERVER_UNAVAILABLE
El servicio WMI no está disponible.

Comentarios

Si el evento es un evento DE WPP o ETW clásico, puede especificar información de contexto que se usa para ayudar a analizar la información del evento. El evento es un evento WPP si la marca de EVENT_HEADER_FLAG_TRACE_MESSAGE está establecida en el miembro Flags de EVENT_HEADER (consulte el miembro EventHeader de EVENT_RECORD). El evento es un evento ETW heredado si se establece la marca EVENT_HEADER_FLAG_CLASSIC_HEADER.

Para obtener una lista de propiedades para eventos de WPP y sus tipos de datos, vea PROPERTY_DATA_DESCRIPTOR.

Ejemplos

Para ver un ejemplo que muestra cómo llamar a esta función para recuperar el valor de una propiedad de nivel superior o el miembro de una estructura, consulte Uso de TdhGetProperty para consumir datos de eventos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado tdh.h
Library Tdh.lib
Archivo DLL Tdh.dll

Consulte también

TdhGetEventInformation

TdhGetPropertySize