Advertencia C28103
Recurso de pérdida
El objeto especificado contiene un recurso que no se ha liberado. Una función a la que se llama se ha anotado con __drv_acquiresResource
o __drv_acquiresResourceGlobal
y esta advertencia indica que el recurso denominado en la anotación no se liberó.
Ejemplo
El siguiente código de ejemplo genera esta advertencia:
res = KeSaveFloatingPointState(buffer);
El siguiente código de ejemplo evita esta advertencia:
res = KeSaveFloatingPointState(buffer);
if (NT_SUCCESS(res))
{
res = KeRestoreFloatingPointState(buffer);
}
Si esta advertencia se notifica como un 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
. Si usa funciones contenedoras para funciones del sistema, las funciones contenedoras deben usar las mismas anotaciones que hacen las funciones del sistema. Actualmente, muchas funciones del sistema se anotan en el archivo de modelo, por lo que las anotaciones no son visibles en los archivos de encabezado.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de