Declaraciones de función NDIS del comprobador de controladores estáticos

Para habilitar SDV para comprobar el controlador NDIS, debe declarar cada función de devolución de llamada mediante un tipo de rol de función de devolución de llamada. Los tipos de rol de función de devolución de llamada se definen en el archivo de encabezado Ndis.h y se incluyen al compilar el controlador con ese archivo de encabezado.

Debe declarar las funciones de devolución de llamada del controlador antes de declarar las definiciones de función de devolución de llamada. En el ejemplo de código siguiente se muestra la declaración de tipo de rol de función para la función de devolución de llamada MiniportInitializeEx . Esta función de devolución de llamada debe declararse mediante el tipo de rol MINIPORT_INITIALIZE. En este ejemplo, la función de devolución de llamada se denomina myMiniportInitializeEx.

#include <ndis.h>  
MINIPORT_INITIALIZE myMiniportInitializeEx

Si una función de devolución de llamada tiene una declaración de prototipo de función, debe reemplazar el prototipo de función por la declaración de tipo de rol de función. Para obtener más información sobre las declaraciones de tipo de rol de función, vea el tema Using Function Role Type Declarations (Usar declaraciones de tipo de rol de función).

En la tabla siguiente se muestran los tipos de rol de función de devolución de llamada y las funciones de devolución de llamada NDIS a las que están asociadas.

Declaraciones de función requeridas

Función de devolución de llamada del controlador de miniporte NDIS Nombre del tipo de rol

MiniportAddDevice

MINIPORT_ADD_DEVICE

MiniportCancelDirectOidRequest

MINIPORT_CANCEL_DIRECT_OID_REQUEST

MiniportCancelOidRequest

MINIPORT_CANCEL_OID_REQUEST

MiniportCancelSend

MINIPORT_CANCEL_SEND

MiniportCheckForHangEx

MINIPORT_CHECK_FOR_HANG

MiniportDevicePnPEventNotify

MINIPORT_DEVICE_PNP_EVENT_NOTIFY

MiniportDirectOidRequest

MINIPORT_DIRECT_OID_REQUEST

MiniportDisableInterruptEx

MINIPORT_DISABLE_INTERRUPT

MiniportDisableMessageInterrupt

MINIPORT_DISABLE_MESSAGE_INTERRUPT

MiniportDriverUnload

MINIPORT_UNLOAD

MiniportEnableInterruptEx

MINIPORT_ENABLE_INTERRUPT

MiniportEnableMessageInterrupt

MINIPORT_ENABLE_MESSAGE_INTERRUPT

MiniportFilterResourceRequirements

MINIPORT_FILTER_RESOURCE_REQUIREMENTS

MiniportHaltEx

MINIPORT_HALT

MiniportInitializeEx

MINIPORT_INITIALIZE

MiniportInterrupt

MINIPORT_ISR

MiniportInterruptDPC

MINIPORT_INTERRUPT_DPC

MiniportMessageInterrupt

MINIPORT_MESSAGE_INTERRUPT

MiniportMessageInterruptDPC

MINIPORT_MESSAGE_INTERRUPT_DPC

MiniportOidRequest

MINIPORT_OID_REQUEST

MiniportPause

MINIPORT_PAUSE

MiniportProcessSGList

MINIPORT_PROCESS_SG_LIST

MiniportRemoveDevice

MINIPORT_REMOVE_DEVICE

MiniportResetEx

MINIPORT_RESET

MiniportRestart

MINIPORT_RESTART

MiniportReturnNetBufferLists

MINIPORT_RETURN_NET_BUFFER_LISTS

MiniportSendNetBufferLists

MINIPORT_SEND_NET_BUFFER_LISTS

MiniportSetOptions

MINIPORT_SET_OPTIONS

MiniportSharedMemoryAllocateComplete

MINIPORT_ALLOCATE_SHARED_MEM_COMPLETE

MiniportShutdownEx

MINIPORT_SHUTDOWN

MiniportStartDevice

MINIPORT_START_DEVICE

MiniportSynchronizeInterrupt

MINIPORT_SYNCHRONIZE_INTERRUPT

MiniportSynchronizeMessageInterrupt

MINIPORT_SYNCHRONIZE_MESSAGE_INTERRUPT

Otra función de devolución de llamada NDIS Nombre del tipo de rol

NDIS_IO_WORKITEM_ROUTINE

Rutina

Rutina es la rutina de devolución de llamada que se especifica en el segundo parámetro para la función NdisQueueIoWorkItem .

NDIS_IO_WORKITEM_FUNCTION

NetTimerCallback

NDIS_TIMER_FUNCTION

Los siguientes tipos de rol de función no se usan actualmente en las reglas de SDV para los controladores NDIS; sin embargo, es probable que se usen en el futuro. Estos tipos de roles de función son totalmente compatibles con Windows 7 y se recomienda usar sus tipos de roles de función específicos para declarar estas devoluciones de llamada.

Función de devolución de llamada del controlador de filtro NDIS Nombre del tipo de rol

FilterAttach

FILTER_ATTACH

FilterCancelDirectOidRequest

FILTER_CANCEL_DIRECT_OID_REQUEST

FilterCancelSendNetBufferLists

FILTER_CANCEL_SEND_NET_BUFFER_LISTS

FilterCancelOidRequest

FILTER_CANCEL_OID_REQUEST

FilterDetach

FILTER_DETACH

FilterDevicePnPEventNotify

FILTER_DEVICE_PNP_EVENT_NOTIFY

FilterDirectOidRequest

FILTER_DIRECT_OID_REQUEST

FilterDirectOidRequestComplete

FILTER_DIRECT_OID_REQUEST_COMPLETE

FilterDriverUnload

DRIVER_UNLOAD

FilterNetPnPEvent

FILTER_NET_PNP_EVENT

FilterOidRequest

FILTER_OID_REQUEST

FilterOidRequestComplete

FILTER_OID_REQUEST_COMPLETE

FilterPause

FILTER_PAUSE

FilterReceiveNetBufferLists

FILTER_RECEIVE_NET_BUFFER_LISTS

FilterRestart

FILTER_RESTART

FilterReturnNetBufferLists

FILTER_RETURN_NET_BUFFER_LISTS

FilterSendNetBufferLists

FILTER_SEND_NET_BUFFER_LISTS

FilterSendNetBufferListsComplete

FILTER_SEND_NET_BUFFER_LISTS_COMPLETE

FilterSetModuleOptions

FILTER_SET_MODULE_OPTIONS

FilterSetOptions

FILTER_SET_OPTIONS

FilterStatus

FILTER_STATUS

Función de devolución de llamada del controlador de miniporte CoNDIS Nombre del tipo de rol

MiniportCoActivateVc

MINIPORT_CO_ACTIVATE_VC

MiniportCoCreateVc

MINIPORT_CO_CREATE_VC

MiniportCoDeactivateVc

MINIPORT_CO_DEACTIVATE_VC

MiniportCoDeleteVc

MINIPORT_CO_DELETE_VC

MiniportCoOidRequest

MINIPORT_CO_OID_REQUEST

MiniportCoSendNetBufferLists

MINIPORT_CO_SEND_NET_BUFFER_LISTS

Función de devolución de llamada del controlador de protocolo NDIS Nombre del tipo de rol

ProtocolBindAdapterEx

PROTOCOL_BIND_ADAPTER_EX

ProtocolCloseAdapterCompleteEx

PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX

ProtocolDirectOidRequestComplete

PROTOCOL_DIRECT_OID_REQUEST_COMPLETE

ProtocolNetPnPEvent

PROTOCOL_NET_PNP_EVENT

ProtocolOidRequestComplete

PROTOCOL_OID_REQUEST_COMPLETE

ProtocolOpenAdapterCompleteEx

PROTOCOL_OPEN_ADAPTER_COMPLETE_EX

ProtocolReceiveNetBufferLists

PROTOCOL_RECEIVE_NET_BUFFER_LISTS

ProtocolSendNetBufferListsComplete

PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE

ProtocolSetOptions

PROTOCOL_SET_OPTIONS

ProtocolStatusEx

PROTOCOL_STATUS_EX

ProtocolUnbindAdapterEx

PROTOCOL_UNBIND_ADAPTER_EX

ProtocolUninstall

PROTOCOL_UNINSTALL

Función de devolución de llamada CL del protocolo NDIS Nombre del tipo de rol

ProtocolClAddPartyComplete

PROTOCOL_CL_ADD_PARTY_COMPLETE

ProtocolClCallConnected

PROTOCOL_CL_CALL_CONNECTED

ProtocolClCloseAfComplete

PROTOCOL_CL_CLOSE_AF_COMPLETE

ProtocolClCloseCallComplete

PROTOCOL_CL_CLOSE_CALL_COMPLETE

ProtocolClDeregisterSapComplete

PROTOCOL_CL_DEREGISTER_SAP_COMPLETE

ProtocolClDropPartyComplete

PROTOCOL_CL_DROP_PARTY_COMPLETE

ProtocolClIncomingCall

PROTOCOL_CL_INCOMING_CALL

ProtocolClIncomingCallQoSChange

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE

ProtocolClIncomingCloseCall

PROTOCOL_CL_INCOMING_CLOSE_CALL

ProtocolClIncomingDropParty

PROTOCOL_CL_INCOMING_DROP_PARTY

ProtocolClMakeCallComplete

PROTOCOL_CL_MAKE_CALL_COMPLETE

ProtocolClModifyCallQoSComplete

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE

ProtocolClNotifyCloseAf

PROTOCOL_CL_NOTIFY_CLOSE_AF

ProtocolClOpenAfComplete

PROTOCOL_CL_OPEN_AF_COMPLETE

ProtocolClOpenAfCompleteEx

PROTOCOL_CL_OPEN_AF_COMPLETE_EX

ProtocolClRegisterSapComplete

PROTOCOL_CL_REGISTER_SAP_COMPLETE

Función de devolución de llamada de CoNDIS CM Nombre del tipo de rol

ProtocolCmActivateVcComplete

PROTOCOL_CM_ACTIVATE_VC_COMPLETE

ProtocolCmAddParty

PROTOCOL_CM_ADD_PARTY

ProtocolCmCloseAf

PROTOCOL_CM_CLOSE_AF

ProtocolCmCloseCall

PROTOCOL_CM_CLOSE_CALL

ProtocolCmDeactivateVcComplete

PROTOCOL_CM_DEACTIVATE_VC_COMPLETE

ProtocolCmDeregisterSap

PROTOCOL_CM_DEREGISTER_SAP

ProtocolCmDropParty

PROTOCOL_CM_DROP_PARTY

ProtocolCmIncomingCallComplete

PROTOCOL_CM_INCOMING_CALL_COMPLETE

ProtocolCmMakeCall

PROTOCOL_CM_MAKE_CALL

ProtocolCmModifyCallQoS

PROTOCOL_CM_MODIFY_QOS_CALL

ProtocolCmNotifyCloseAfComplete

PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE

ProtocolCmOpenAf

PROTOCOL_CM_OPEN_AF

ProtocolCmRegisterSap

PROTOCOL_CM_REG_SAP

Función de devolución de llamada coNDIS Nombre del tipo de rol

ProtocolCoAfRegisterNotify

PROTCOL_CO_AF_REGISTER_NOTIFY

ProtocolCoCreateVc

PROTOCOL_CO_CREATE_VC

ProtocolCoDeleteVc

PROTOCOL_CO_DELETE_VC

ProtocolCoOidRequest

PROTOCOL_CO_OID_REQUEST

ProtocolCoOidRequestComplete

PROTOCOL_CO_OID_REQUEST_COMPLETE

ProtocolCoReceiveNetBufferLists

PROTOCOL_CO_RECEIVE_NET_BUFFER_LISTS

ProtocolCoSendNetBufferListsComplete

PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE

ProtocolCoStatusEx

PROTOCOL_CO_STATUS_EX