Condividi tramite


Dichiarazioni di funzione NDIS del driver statico

Per abilitare SDV per verificare il driver NDIS, è necessario dichiarare ogni funzione di callback usando un tipo di ruolo funzione di callback. I tipi di ruolo della funzione callback sono definiti nel file di intestazione Ndis.h e vengono inclusi quando si compila il driver con tale file di intestazione.

È necessario dichiarare le funzioni di callback del driver prima di dichiarare le definizioni delle funzioni di callback. Nell'esempio di codice seguente viene illustrata la dichiarazione del tipo di ruolo della funzione per la funzione callback MiniportInitializeEx . Questa funzione di callback deve essere dichiarata usando il tipo di ruolo MINIPORT_INITIALIZE. In questo esempio la funzione di callback è denominata myMiniportInitializeEx.

#include <ndis.h>  
MINIPORT_INITIALIZE myMiniportInitializeEx

Se una funzione di callback ha una dichiarazione di prototipo di funzione, è necessario sostituire il prototipo di funzione con la dichiarazione del tipo di ruolo funzione. Per altre informazioni sulle dichiarazioni di tipo di ruolo della funzione, vedere l'argomento Using Function Role Type Declarations .For more information about the function role type declarations, see the Using Function Role Type Declarations .

Nella tabella seguente vengono illustrati i tipi di ruolo della funzione callback e le funzioni di callback NDIS associate.

Dichiarazioni di funzione richieste

Funzione di callback del driver NDIS Nome del tipo di ruolo

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

NDIS altra funzione di callback Nome del tipo di ruolo

NDIS_IO_WORKITEM_ROUTINE

Routine

Routine è la routine di callback specificata nel secondo parametro alla funzione NdisQueueIoWorkItem .

NDIS_IO_WORKITEM_FUNCTION

NetTimerCallback

NDIS_TIMER_FUNCTION

I tipi di ruolo di funzione seguenti non vengono attualmente usati nelle regole SDV per i driver NDIS; tuttavia, è probabile che vengano usati il futuro. Questi tipi di ruolo di funzione sono completamente supportati in Windows 7 e si consiglia di usare i tipi di ruolo di funzione specifici per dichiarare questi callback.

Funzione di callback del driver di filtro NDIS Nome del tipo di ruolo

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

Funzione di callback del driver miniport CoNDIS Nome del tipo di ruolo

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

Funzione di callback del driver del protocollo NDIS Nome del tipo di ruolo

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

Funzione di callback CL del protocollo NDIS Nome del tipo di ruolo

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

Funzione di callback di CoNDIS CM Nome del tipo di ruolo

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

Funzione di callback CoNDIS CO Nome del tipo di ruolo

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