共用方式為


靜態驅動程式驗證器 NDIS 函式宣告

若要讓 SDV 驗證您的 NDIS 驅動程式,您必須使用回呼函式角色類型來宣告每個回呼函式。 回呼函式角色類型定義在 Ndis.h 標頭檔中,當您使用該標頭檔建置驅動程式時,就會包含這些角色。

您必須先宣告驅動程式的回呼函式,才能宣告回呼函式定義。 下列程式碼範例顯示 MiniportInitializeEx 回呼函式的函式角色類型宣告。 此回呼函式必須使用MINIPORT_INITIALIZE角色類型來宣告。 在此範例中,回呼函式稱為 myMiniportInitializeEx

#include <ndis.h>  
MINIPORT_INITIALIZE myMiniportInitializeEx

如果回調函式具有函式原型宣告,您必須將函式原型取代為函式角色類型宣告。 如需函式角色類型宣告的詳細資訊,請參閱 使用函式角色類型宣告 主題。

下表顯示回呼函式角色類型,以及與其相關聯的 NDIS 回呼函式。

必要的函數宣告

NDIS 迷你埠驅動程式回呼函式 角色類型名稱

MiniportAddDevice

MINIPORT_ADD_DEVICE

MiniportCancelDirectOidRequest

MINIPORT_CANCEL_DIRECT_OID_REQUEST

MiniportCancelOidRequest

MINIPORT_CANCEL_OID_REQUEST

Miniport 取消傳送

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

MiniportDriver卸載

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 其他回呼函式 角色類型名稱

NDIS_IO_WORKITEM_ROUTINE

例行公事

常式 是在 NdisQueueIoWorkItem 函式的第二個參數中指定的回呼常式。

NDIS_IO_WORKITEM_FUNCTION

NetTimer回呼

NDIS_TIMER_FUNCTION

下列函式角色類型目前不會用於 NDIS 驅動程式的 SDV 規則中;但是,它們將來可能會被使用。 Windows 7 完全支援這些函式角色類型,我們建議您使用其特定的函式角色類型來宣告這些回呼函數。

NDIS 篩選驅動程式回呼函式 角色類型名稱

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

FilterDriver卸載

DRIVER_UNLOAD

FilterNetPnPEvent

FILTER_NET_PNP_EVENT

FilterOidRequest

FILTER_OID_REQUEST

FilterOidRequestComplete

FILTER_OID_REQUEST_COMPLETE

濾鏡暫停

過濾暫停

FilterReceiveNetBufferLists

FILTER_RECEIVE_NET_BUFFER_LISTS

FilterRestart

篩選器重啟

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

過濾器設定選項

FilterStatus

濾鏡狀態

CoNDIS 迷你埠驅動程式回呼函式 角色類型名稱

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

NDIS 通訊協定驅動程式回呼函式 角色類型名稱

ProtocolBindAdapterEx

PROTOCOL_BIND_ADAPTER_EX

ProtocolCloseAdapterCompleteEx

PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX

ProtocolDirectOidRequestComplete

PROTOCOL_DIRECT_OID_REQUEST_COMPLETE

ProtocolNetPnPEvent

PROTOCOL_NET_PNP_EVENT

協定Oid請求完成

PROTOCOL_OID_REQUEST_COMPLETE

ProtocolOpenAdapterCompleteEx

PROTOCOL_OPEN_ADAPTER_COMPLETE_EX

ProtocolReceiveNetBufferLists

PROTOCOL_RECEIVE_NET_BUFFER_LISTS

ProtocolSendNetBufferListsComplete

PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE

協議選項設置

PROTOCOL_SET_OPTIONS

ProtocolStatusEx

PROTOCOL_STATUS_EX

ProtocolUnbindAdapterEx

PROTOCOL_UNBIND_ADAPTER_EX

協議卸載

PROTOCOL_UNINSTALL

NDIS 協定 CL 回呼函數 角色類型名稱

ProtocolClAddParty完成

PROTOCOL_CL_ADD_PARTY_COMPLETE

通訊協定ClCall已連線

PROTOCOL_CL_CALL_CONNECTED

通訊協定ClCloseAfComplete

PROTOCOL_CL_CLOSE_AF_COMPLETE

通訊協定ClCloseCall完成

PROTOCOL_CL_CLOSE_CALL_COMPLETE

ProtocolClDeregisterSap完成狀態

PROTOCOL_CL_DEREGISTER_SAP_COMPLETE

ProtocolClDropPartyComplete(完成)

PROTOCOL_CL_DROP_PARTY_COMPLETE

通訊協定ClIncomingCall

協議_CL_來電

ProtocolClIncomingCallQoSChange(協議客戶端來電QoS變更)

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE

ProtocolClIncomingCloseCall

PROTOCOL_CL_INCOMING_CLOSE_CALL

ProtocolClIncomingDropParty

協議_CL_進入_丟棄_客戶端派對

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

ProtocolClRegisterSap完成

PROTOCOL_CL_REGISTER_SAP_COMPLETE

CoNDIS CM 回呼函式 角色類型名稱

通訊協定CmActivateVc完成

PROTOCOL_CM_ACTIVATE_VC_COMPLETE

通訊協定CmAddParty

PROTOCOL_CM_ADD_PARTY

通訊協定CmCloseAf

PROTOCOL_CM_CLOSE_AF

通訊協定CmCloseCall

PROTOCOL_CM_CLOSE_CALL

ProtocolCmDeactivateVcComplete

PROTOCOL_CM_DEACTIVATE_VC_COMPLETE

ProtocolCmDeregisterSap

PROTOCOL_CM_DEREGISTER_SAP

通訊協定CmDropParty

PROTOCOL_CM_DROP_PARTY

通訊協定CmIncomingCall完成

PROTOCOL_CM_INCOMING_CALL_COMPLETE

通訊協定CmMakeCall

PROTOCOL_CM_MAKE_CALL

通訊協定CmModifyCallQoS

PROTOCOL_CM_MODIFY_QOS_CALL (協定_CM_修改_QoS_呼叫)

協定CmNotifyCloseAfComplete

PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE

通訊協定CmOpenAf

PROTOCOL_CM_OPEN_AF

通訊協定CmRegisterSAP

PROTOCOL_CM_REG_SAP

CoNDIS CO 回呼函式 角色類型名稱

通訊協定CoAfRegisterNotify

PROTCOL_CO_AF_REGISTER_NOTIFY

ProtocolCoCreateVc

PROTOCOL_CO_CREATE_VC

通訊協定CoDeleteVc

PROTOCOL_CO_DELETE_VC

ProtocolCoOidRequest

協議_CO_OID_請求 (PROTOCOL_CO_OID_REQUEST)

通訊協定CoOidRequestComplete

PROTOCOL_CO_OID_REQUEST_COMPLETE

通訊協定CoReceiveNetBufferLists

PROTOCOL_CO_RECEIVE_NET_BUFFER_LISTS

通訊協定CoSendNetBufferLists完成

PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE

ProtocolCoStatusEx

PROTOCOL_CO_STATUS_EX