次の方法で共有


静的ドライバー検証ツールでの NDIS 関数の宣言

SDV を有効にして NDIS ドライバーを検証するには、コールバック関数の役割の種類を使用して、各コールバック関数を宣言する必要があります。 コールバック関数の役割の種類は Ndis.h ヘッダー ファイルで定義され、そのヘッダー ファイルを使用してドライバーをビルドするときに含まれます。

コールバック関数の定義を宣言する前に、ドライバーのコールバック関数を宣言する必要があります。 次のコード例は、 ミニポートInitializeEx コールバック関数の関数ロール型宣言を示しています。 このコールバック関数は、MINIPORT_INITIALIZEロール型を使用して宣言する必要があります。 この例では、コールバック関数は myMiniportInitializeEx と呼ばれます。

#include <ndis.h>  
MINIPORT_INITIALIZE myMiniportInitializeEx

コールバック関数に関数プロトタイプ宣言がある場合は、関数プロトタイプを関数ロール型宣言に置き換える必要があります。 関数ロール型宣言の詳細については、「関数ロール型宣言の 使用」トピックを 参照してください。

次の表は、コールバック関数の役割の種類と、それらが関連付けられている NDIS コールバック関数を示しています。

必須の関数宣言

NDIS ミニポート ドライバーコールバック関数 ロールの種類名

MiniportAddDevice

MINIPORT_ADD_DEVICE

ミニポートCancelDirectOidRequest

MINIPORT_CANCEL_DIRECT_OID_REQUEST

ミニポートキャンセルOidRequest

MINIPORT_CANCEL_OID_REQUEST

ミニポートキャンセルセンド

MINIPORT_CANCEL_SEND

MiniportCheckForHangEx

MINIPORT_CHECK_FOR_HANG

MiniportDevicePnPEventNotify

MINIPORT_DEVICE_PNP_EVENT_NOTIFY

ミニポートDirectOidRequest

MINIPORT_DIRECT_OID_REQUEST

ミニポートDisableInterruptEx

MINIPORT_DISABLE_INTERRUPT(ミニポート_割り込み無効化)

MiniportDisableMessageInterrupt

MINIPORT_DISABLE_MESSAGE_INTERRUPT

ミニポートドライバーアンロード

MINIPORT_UNLOAD

ミニポートEnableInterruptEx

MINIPORT_ENABLE_INTERRUPT (ミニポートでの割り込み許可)

MiniportEnableMessageInterrupt

MINIPORT_ENABLE_MESSAGE_INTERRUPT

ミニポートフィルターリソース要求事項

MINIPORT_FILTER_RESOURCE_REQUIREMENTS

ミニポートHaltEx

MINIPORT_HALT

ミニポートInitializeEx

MINIPORT_INITIALIZE

ミニポートインタラプト

MINIPORT_ISR

ミニポートInterruptDPC

MINIPORT_INTERRUPT_DPC

MiniportMessageInterrupt

MINIPORT_MESSAGE_INTERRUPT

ミニポートメッセージInterruptDPC

MINIPORT_MESSAGE_INTERRUPT_DPC

ミニポートOidRequest

MINIPORT_OID_REQUEST

ミニポートPause

MINIPORT_PAUSE

ミニポートProcessSGList

MINIPORT_PROCESS_SG_LIST

MiniportRemoveDevice

MINIPORT_REMOVE_DEVICE

ミニポートResetEx

MINIPORT_RESET

ミニポートRestart

MINIPORT_RESTART

ミニポートReturnNetBufferLists

MINIPORT_RETURN_NET_BUFFER_LISTS

ミニポートSendNetBufferLists

MINIPORT_SEND_NET_BUFFER_LISTS

ミニポートセットのオプション

MINIPORT_SET_OPTIONS

MiniportSharedMemoryAllocateComplete

MINIPORT_ALLOCATE_SHARED_MEM_COMPLETE

ミニポートシャットダウンEx

MINIPORT_SHUTDOWN

MiniportStartDevice

MINIPORT_START_DEVICE

MiniportSynchronizeInterrupt

MINIPORT_SYNCHRONIZE_INTERRUPT

MiniportSynchronizeMessageInterrupt

MINIPORT_SYNCHRONIZE_MESSAGE_INTERRUPT

NDIS その他のコールバック関数 ロールの種類名

NDIS_IO_WORKITEM_ROUTINE

ルーチン

ルーチン は、 NdisQueueIoWorkItem 関数の 2 番目のパラメーターで指定されるコールバック ルーチンです。

NDIS_IO_WORKITEM_FUNCTION

NetTimerCallback

NDIS_TIMER_FUNCTION

次の関数の役割の種類は、NDIS ドライバーの SDV 規則では現在使用されていません。ただし、将来使用される可能性があります。 これらの関数ロールの種類は Windows 7 で完全にサポートされており、特定の関数ロールの種類を使用してこれらのコールバックを宣言することをお勧めします。

NDIS フィルター ドライバーコールバック関数 ロールの種類名

FilterAttach

FILTER_ATTACH

FilterCancelDirectOidRequest

FILTER_CANCEL_DIRECT_OID_REQUEST

FilterCancelSendNetBufferLists

フィルター キャンセル 送信 ネット バッファー リスト

FilterCancelOidRequest

フィルターキャンセルOID要求

FilterDetach

FILTER_DETACH

FilterDevicePnPEventNotify

FILTER_DEVICE_PNP_EVENT_NOTIFYフィルターデバイスPNPイベント通知

FilterDirectOidRequest

フィルター直通OIDリクエスト

FilterDirectOidRequestComplete

FILTER_DIRECT_OID_REQUEST_COMPLETE

FilterDriverUnload

ドライバーアンロード

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

フィルター設定モジュールオプション

FilterSetOptions

FILTER_SET_OPTIONS

FilterStatus

フィルターの状態

CoNDIS ミニポート ドライバーコールバック関数 ロールの種類名

ミニポートCoActivateVc

MINIPORT_CO_ACTIVATE_VC

ミニポートCoCreateVc

MINIPORT_CO_CREATE_VC

ミニポートCoDeactivateVc

MINIPORT_CO_DEACTIVATE_VC

MiniportCoDeleteVc

MINIPORT_CO_DELETE_VC

ミニポートCoOidRequest

MINIPORT_CO_OID_REQUEST

ミニポートCoSendNetBufferLists

MINIPORT_CO_SEND_NET_BUFFER_LISTS

NDIS プロトコル ドライバーコールバック関数 ロールの種類名

ProtocolBindAdapterEx

PROTOCOL_BIND_ADAPTER_EX

ProtocolCloseAdapterCompleteEx

PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX

ProtocolDirectOidRequestComplete

No improvements are necessary as the original translation is appropriate in this technical context.

ProtocolNetPnPEvent

PROTOCOL_NET_PNP_EVENT

ProtocolOidRequestComplete

PROTOCOL_OID_REQUEST_COMPLETE

ProtocolOpenAdapterCompleteEx

PROTOCOL_OPEN_ADAPTER_COMPLETE_EX (アダプタ完了プロトコル)

ProtocolReceiveNetBufferLists

プロトコル受信ネットバッファーリスト

ProtocolSendNetBufferListsComplete

PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE

ProtocolSetOptions

PROTOCOL_SET_OPTIONS

ProtocolStatusEx

PROTOCOL_STATUS_EX

ProtocolUnbindAdapterEx

PROTOCOL_UNBIND_ADAPTER_EX

ProtocolUninstall

PROTOCOL_UNINSTALL

NDIS プロトコル CL コールバック関数 ロールの種類名

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

プロトコル_CL_INCOMING_CALL

ProtocolClIncomingCallQoSChange

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE

ProtocolClIncomingCloseCall

PROTOCOL_CL_INCOMING_CLOSE_CALL(プロトコル・CL・インカミング・クローズ・コール)

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

CoNDIS CM コールバック関数 ロールの種類名

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

プロトコル_CM_DROP_パーティー

ProtocolCmIncomingCallComplete

PROTOCOL_CM_INCOMING_CALL_COMPLETE

ProtocolCmMakeCall

PROTOCOL_CM_MAKE_CALL

ProtocolCmModifyCallQoS

(No change necessary if maintaining the English term is industry standard within the context. If further clarification is required in specific contexts, consider adding notes or explanations separately in documentation without altering the term.)

ProtocolCmNotifyCloseAfComplete

PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE

ProtocolCmOpenAf

PROTOCOL_CM_OPEN_AF

ProtocolCmRegisterSap

PROTOCOL_CM_REG_SAP

CoNDIS CO コールバック関数 ロールの種類名

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