Sugerencias y requisitos de implementación para WDM Lower Edge
En este tema se describen sugerencias y requisitos para implementar un controlador de miniporte NDIS-WDM. Un controlador de miniporte NDIS-WDM puede llamar a funciones NDIS y no NDIS. Estas funciones que no son NDIS incluyen, por ejemplo, el modo WDM-kernel-mode admite rutinas y funciones para una interfaz de controlador de bus determinada.
Al implementar un controlador de miniporte NDIS-WDM, tenga en cuenta lo siguiente:
La creación de un controlador de miniporte NDIS-WDM requiere que se defina la marca de NDIS_WDM antes de incluir el archivo de encabezado Ndis.h. Definir la marca NDIS_WDM garantiza que Ndis.h incluya automáticamente el archivo de encabezado WDM adecuado. La marca NDIS_WDM debe incrustarse al principio del código fuente del controlador de miniporte o establecerse en el archivo Sources del controlador de miniport. Un controlador de miniporte NDIS-WDM requiere un archivo de encabezado WDM para llamar a rutinas en modo kernel, como IoCallDriver e IoAllocateIrp.
Las llamadas de función para una interfaz de controlador de bus determinada requieren los archivos de encabezado para ese controlador de bus.
No se recomienda incluir encabezados NDIS y no NDIS en el mismo archivo de origen porque es posible que no sean compatibles. Es decir, se deben crear archivos de código fuente independientes para el código que llama a funciones NDIS y para el código que llama a funciones que no son NDIS.
Un controlador de miniporte NDIS-WDM debe llamar a las funciones NDIS adecuadas para asignar y liberar recursos a menos que el controlador de miniporte NDIS-WDM asigne y libere recursos en uno de los escenarios siguientes:
- Un recurso, normalmente un recurso de memoria, lo asigna el controlador de miniporte NDIS-WDM y, posteriormente, se libera mediante una entidad que no es NDIS, como una interfaz de controlador de bus,
- Un recurso, normalmente un recurso de memoria, se asigna mediante una entidad que no es NDIS y el controlador de miniporte NDIS-WDM lo libera más adelante.
En los escenarios anteriores, el controlador de miniporte NDIS-WDM debe llamar a las rutinas de WDM adecuadas para asignar o liberar recursos para la entidad que no es NDIS.