Поделиться через


Правило WriteErrorLog (ndis)

Правило WriteErrorLog указывает, что если функция NdisMAllocateSharedMemory вызывается в функции MiniportInitializeEx , драйвер также должен вызвать NdisWriteErrorLogEntry в случае сбоя выделения.

Как правило, рекомендуется регистрировать в журнале запись об ошибке при сбое операции выделения памяти. Большая часть операций выделения выполняется в функции обратного вызова MiniportInitializeEx . Дополнительные сведения о том, как регистрировать ошибку, см. в следующем примере кода.

Модель драйвера: NDIS

Пример

// an example of how to log an error if memory allocation fails PVOID p;
NdisMAllocateSharedMemory(par1, par2, par3, &p, ...);
if (p == NULL)
{
 NdisWriteErrorLogEntry("Memory allocation failed");
}

Как тестировать

Во время компиляции

Запустите средство проверки статических драйверов и укажите правило WriteErrorLog .

Выполните следующие действия, чтобы выполнить анализ кода.
  1. Подготовьте код (используйте объявления типов ролей).
  2. Запустите средство проверки статических драйверов.
  3. Просмотр и анализ результатов.

Дополнительные сведения см. в разделе Использование средства проверки статических драйверов для поиска дефектов в драйверах.