Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Advertencia C28103: pérdida de recursos
El objeto especificado contiene un recurso que no se ha liberado.Una función a la que se está llamando se ha anotado con __drv_acquiresResource o __drv_acquiresResourceGlobal y esta advertencia indica que no liberaron el recurso denominado en la anotación.
Ejemplo
El siguiente ejemplo de código genera la advertencia:
res = KeSaveFloatingPointState(buffer);
El siguiente ejemplo de código evita la advertencia:
res = KeSaveFloatingPointState(buffer);
if (NT_SUCCESS(res))
{
res = KeRestoreFloatingPointState(buffer);
}
Si esta advertencia se muestra como falso positivo, la causa más probable es que la función que libera el recurso no está anotada con __drv_releasesResource o __drv_releasesResourceGlobal.Tenga en cuenta que si utiliza funciones de contenedor para las funciones del sistema, las funciones de contenedor deben utilizar las mismas anotaciones que las funciones del sistema.Actualmente, muchas funciones del sistema se indican en el archivo del modelo, por lo que las anotaciones no están visibles en los archivos de encabezado.