Función EvtCancel (winevt.h)
Cancela todas las operaciones pendientes en un identificador.
Sintaxis
BOOL EvtCancel(
EVT_HANDLE Object
);
Parámetros
Object
Identificador cuya operación desea cancelar. Puede cancelar las siguientes operaciones:
Para cancelar las operaciones EvtClearLog, EvtExportLog, EvtQuery y EvtSubscribe, debe pasar el identificador de sesión. Para especificar la sesión predeterminada (sesión local), establezca este parámetro en NULL.Valor devuelto
Código o valor devuelto | Descripción |
---|---|
|
La función se ha realizado correctamente. |
|
Error en la función. Para obtener el código de error, llame a la función GetLastError . |
Comentarios
Use esta función para cancelar las operaciones de larga duración. Por ejemplo, llamar a la función EvtNext podría tardar teóricamente mucho tiempo debido al filtrado de miles de registros de eventos. Llamar a EvtCancel impediría que la función EvtNext procesara más registros de eventos. Tenga en cuenta que es posible que la función no pueda detener la operación inmediatamente.
Debe llamar a la función EvtClose para cerrar el identificador cuando haya terminado.
En el procedimiento siguiente se describe cómo cancelar una operación de larga duración.
Para cancelar una operación de larga duración
- El subproceso A llama a una operación de larga duración (por ejemplo, la función EvtSeek ).
- El subproceso B quiere cancelar y cerrar todas las operaciones, por lo que el subproceso B llama a la función EvtCancel .
- A continuación, el subproceso B espera a que se completen todas las llamadas pendientes (sincronizando con el subproceso A). Dado que se llamó a la función EvtCancel , el subproceso A debería completarse poco después de realizar la llamada a EvtCancel .
- Una vez que el subproceso A ha completado completamente la operación (EvtSeek), el subproceso B puede cerrar el identificador de resultados de la consulta mediante la función EvtClose .
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 | winevt.h |
Library | Wevtapi.lib |
Archivo DLL | Wevtapi.dll |