Sdílet prostřednictvím


Deklarace funkcí NDIS ve statickém ověřovači ovladačů

Pokud chcete SDV povolit ověření ovladače NDIS, musíte deklarovat každou funkci zpětného volání pomocí typu role funkce zpětného volání. Typy rolí funkce zpětného volání jsou definovány v souboru hlaviček Ndis.h a jsou zahrnuty při sestavování ovladače s tímto souborem hlaviček.

Před deklarací definic funkce zpětného volání je nutné deklarovat funkce zpětného volání ovladače. Následující příklad kódu ukazuje deklaraci typu role funkce pro MiniportInitializeEx callback funkce. Tato funkce zpětného volání musí být deklarována pomocí typu role MINIPORT_INITIALIZE. V tomto příkladu se funkce zpětného volání nazývá myMiniportInitializeEx.

#include <ndis.h>  
MINIPORT_INITIALIZE myMiniportInitializeEx

Pokud má funkce zpětného volání deklaraci prototypu funkce, je nutné nahradit prototyp funkce deklarací typu role funkce. Další informace o deklaracích typu role funkce naleznete v tématu Použití deklarací typu role funkce .

Následující tabulka uvádí typy rolí funkce zpětného volání a funkce zpětného volání NDIS, ke kterým jsou přidružené.

Požadované deklarace funkce

Funkce zpětného volání ovladače NDIS miniport Název typu role

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 (Note: No changes were made as it appears to be a technical identifier that remains in English.)

Jiná funkce zpětného volání NDIS Název typu role

NDIS_IO_WORKITEM_ROUTINE

Rutina

Rutina je rutina zpětného volání, která je zadána v druhém parametru NdisQueueIoWorkItem funkce.

NDIS_IO_WORKITEM_FUNCTION

NetTimerCallback

NDIS_TIMER_FUNCTION

Následující typy rolí funkcí se aktuálně nepoužívají v pravidlech SDV pro ovladače NDIS; budou však pravděpodobně použity v budoucnu. Tyto typy rolí funkcí jsou plně podporovány ve Windows 7 a doporučujeme, abyste k deklaraci těchto zpětných volání použili jejich konkrétní typy rolí funkcí.

Funkce zpětného volání ovladače filtru NDIS Název typu role

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

POZASTAVENÍ FILTRU

FilterReceiveNetBufferLists

FILTER_RECEIVE_NET_BUFFER_LISTS

Restart filtru

FILTER_RESTART

FilterReturnNetBufferLists

FILTER_RETURN_NET_BUFFER_LISTS

FilterSendNetBufferLists

FILTER_SEND_NET_BUFFER_LISTS

FilterSendNetBufferListsComplete

FILTER_SEND_NET_BUFFER_LISTS_COMPLETE

Nastavit možnosti modulu filtru

FILTER_SET_MODULE_OPTIONS (nastavení možností modulu filtru)

NastaveníFiltru FilterSetOptions

FILTER_SET_OPTIONS

Stav filtru

STAV FILTRU

Funkce zpětného volání miniportového ovladače CoNDIS Název typu role

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

Funkce zpětného volání ovladače protokolu NDIS Název typu role

ProtocolBindAdapterEx

PROTOCOL_BIND_ADAPTER_EX

ProtocolCloseAdapterCompleteEx

PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX

ProtocolDirectOidRequestComplete

PROTOCOL_DIRECT_OID_REQUEST_COMPLETE (Protokol přímé OID požadavky dokončeny)

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

Funkce zpětného volání CL protokolu NDIS Název typu role

ProtocolClAddPartyComplete

PROTOCOL_CL_ADD_PARTY_COMPLETE

ProtocolClCallConnected

PROTOKOL_CL_CALL_CONNECTED

ProtocolClCloseAfComplete

PROTOCOL_CL_CLOSE_AF_COMPLETE

ProtocolClCloseCallComplete

PROTOCOL_CL_CLOSE_CALL_COMPLETE

ProtocolClDeregisterSapComplete

PROTOCOL_CL_DEREGISTER_SAP_COMPLETE

ProtocolClDropPartyComplete

PROTOKOL_CL_DROP_PARTY_DOKONČENO

ProtocolClIncomingCall

PROTOCOL_CL_INCOMING_CALL

ProtocolClIncomingCallQoSChange

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE

ProtocolClIncomingCloseCall

PROTOCOL_CL_INCOMING_CLOSE_CALL (Příchozí ukončení hovoru protokolu)

ProtocolClIncomingDropParty

PROTOCOL_CL_INCOMING_DROP_PARTY

ProtocolClMakeCallComplete

PROTOKOL_CL_ZAHÁJIT_VOLÁNÍ_DOKONČENO (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

CoNDIS CM – funkce zpětného volání Název typu role

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 (oznámení o ukončení úkolu)

ProtocolCmOpenAf

PROTOCOL_CM_OPEN_AF

ProtocolCmRegisterSap

PROTOCOL_CM_REG_SAP

CoNDIS CO – funkce zpětného volání Název typu role

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