C28103C28103

ADVERTENCIA C28103: recurso de pérdida de recursoswarning C28103: Leaking resource

El objeto especificado contiene un recurso que no se ha liberado.The specified object contains a resource that has not been freed. Una función a la que se llama se ha anotado con __drv_acquiresResource o __drv_acquiresResourceGlobal y esta advertencia indica que no se liberó el recurso mencionado en la anotación.A function being called has been annotated with __drv_acquiresResource or __drv_acquiresResourceGlobal and this warning indicates that the resource named in the annotation was not freed.

EjemploExample

El siguiente código de ejemplo genera esta advertencia:The following code example generates this warning:

res = KeSaveFloatingPointState(buffer);

El siguiente código de ejemplo evita esta advertencia:The following code example avoids this warning:

res = KeSaveFloatingPointState(buffer);
if (NT_SUCCESS(res))
{
    res = KeRestoreFloatingPointState(buffer);
}

Si esta advertencia se indica como falso positivo, la causa más probable es que la función que libera el recurso no se anota con __drv_releasesResource o __drv_releasesResourceGlobal.If this warning is reported as a false positive, the most likely cause is that the function that releases the resource is not annotated with __drv_releasesResource or __drv_releasesResourceGlobal. Tenga en cuenta que si usa funciones contenedoras para las funciones del sistema, las funciones contenedoras deben usar las mismas anotaciones que las funciones del sistema.Note that if you are using wrapper functions for system functions, the wrapper functions should use the same annotations that the system functions do. Actualmente, muchas funciones del sistema se anotan en el archivo de modelo, por lo que las anotaciones no están visibles en los archivos de encabezado.Currently, many system functions are annotated in the model file, so the annotations are not visible in the header files.