静的ドライバー検証ツールでの NDIS 関数の宣言
SDV で NDIS ドライバーを検証できるようにするには、コールバック関数ロール型を使用して、各コール バック関数を宣言する必要があります。 コールバック関数のロール型は Ndis.h ヘッダー ファイルで定義され、そのヘッダー ファイルを使用してドライバーをビルドするときに含まれます。
コールバック関数の定義を宣言する前に、ドライバーのコールバック関数を宣言する必要があります。 次のコード例は、MiniportInitializeEx コールバック関数の関数ロール型宣言です。 このコールバック関数は、MINIPORT_INITIALIZE ロール型を使用して宣言する必要があります。 この例では、コールバック関数は myMiniportInitializeEx と呼ばれています。
#include <ndis.h>
MINIPORT_INITIALIZE myMiniportInitializeEx
コールバック関数に関数プロトタイプ宣言がある場合は、関数プロトタイプを関数ロール型宣言に置き換える必要があります。 関数ロール型宣言の詳細については、「関数ロール型宣言の使用」のトピックを参照してください。
次の表は、コールバック関数ロール型と、それらが関連付けられている NDIS コールバック関数を示しています。
必要な関数宣言
NDIS ミニポート ドライバー コールバック関数 | ロール型名 |
---|---|
MINIPORT_ADD_DEVICE |
|
MINIPORT_CANCEL_DIRECT_OID_REQUEST |
|
MINIPORT_CANCEL_OID_REQUEST |
|
MINIPORT_CANCEL_SEND |
|
MINIPORT_CHECK_FOR_HANG |
|
MINIPORT_DEVICE_PNP_EVENT_NOTIFY |
|
MINIPORT_DIRECT_OID_REQUEST |
|
MINIPORT_DISABLE_INTERRUPT |
|
MINIPORT_DISABLE_MESSAGE_INTERRUPT |
|
MINIPORT_UNLOAD |
|
MINIPORT_ENABLE_INTERRUPT |
|
MINIPORT_ENABLE_MESSAGE_INTERRUPT |
|
MINIPORT_FILTER_RESOURCE_REQUIREMENTS |
|
MINIPORT_HALT |
|
MINIPORT_INITIALIZE |
|
MINIPORT_ISR |
|
MINIPORT_INTERRUPT_DPC |
|
MINIPORT_MESSAGE_INTERRUPT |
|
MINIPORT_MESSAGE_INTERRUPT_DPC |
|
MINIPORT_OID_REQUEST |
|
MINIPORT_PAUSE |
|
MINIPORT_PROCESS_SG_LIST |
|
MINIPORT_REMOVE_DEVICE |
|
MINIPORT_RESET |
|
MINIPORT_RESTART |
|
MINIPORT_RETURN_NET_BUFFER_LISTS |
|
MINIPORT_SEND_NET_BUFFER_LISTS |
|
MINIPORT_SET_OPTIONS |
|
MINIPORT_ALLOCATE_SHARED_MEM_COMPLETE |
|
MINIPORT_SHUTDOWN |
|
MINIPORT_START_DEVICE |
|
MINIPORT_SYNCHRONIZE_INTERRUPT |
|
MINIPORT_SYNCHRONIZE_MESSAGE_INTERRUPT |
その他の NDIS コールバック関数 | ロール型名 |
---|---|
NDIS_IO_WORKITEM_ROUTINE ルーチンによって返される値 Routine は、NdisQueueIoWorkItem 関数の第 2 パラメーターで指定されるコールバック ルーチンです。 |
NDIS_IO_WORKITEM_FUNCTION |
NDIS_TIMER_FUNCTION |
推奨される関数宣言
次の関数ロール型は、NDIS ドライバーの SDV ルールでは現在使用されていませんが、将来使用される可能性があります。 これらの関数ロール型は Windows 7 で完全にサポートされており、これらのコールバックを宣言するには、それぞれの関数ロール型を使用することを推奨します。
NDIS フィルター ドライバーコールバック関数 | ロール型名 |
---|---|
FILTER_ATTACH |
|
FILTER_CANCEL_DIRECT_OID_REQUEST |
|
FILTER_CANCEL_SEND_NET_BUFFER_LISTS |
|
FILTER_CANCEL_OID_REQUEST |
|
FILTER_DETACH |
|
FILTER_DEVICE_PNP_EVENT_NOTIFY |
|
FILTER_DIRECT_OID_REQUEST |
|
FILTER_DIRECT_OID_REQUEST_COMPLETE |
|
DRIVER_UNLOAD |
|
FILTER_NET_PNP_EVENT |
|
FILTER_OID_REQUEST |
|
FILTER_OID_REQUEST_COMPLETE |
|
FILTER_PAUSE |
|
FILTER_RECEIVE_NET_BUFFER_LISTS |
|
FILTER_RESTART |
|
FILTER_RETURN_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS_COMPLETE |
|
FILTER_SET_MODULE_OPTIONS |
|
FILTER_SET_OPTIONS |
|
FILTER_STATUS |
CoNDIS ミニポート ドライバー コールバック関数 | ロール型名 |
---|---|
MINIPORT_CO_ACTIVATE_VC |
|
MINIPORT_CO_CREATE_VC |
|
MINIPORT_CO_DEACTIVATE_VC |
|
MINIPORT_CO_DELETE_VC |
|
MINIPORT_CO_OID_REQUEST |
|
MINIPORT_CO_SEND_NET_BUFFER_LISTS |
NDIS プロトコル ドライバー コールバック関数 | ロール型名 |
---|---|
PROTOCOL_BIND_ADAPTER_EX |
|
PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX |
|
PROTOCOL_DIRECT_OID_REQUEST_COMPLETE |
|
PROTOCOL_NET_PNP_EVENT |
|
PROTOCOL_OID_REQUEST_COMPLETE |
|
PROTOCOL_OPEN_ADAPTER_COMPLETE_EX |
|
PROTOCOL_RECEIVE_NET_BUFFER_LISTS |
|
PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE |
|
PROTOCOL_SET_OPTIONS |
|
PROTOCOL_STATUS_EX |
|
PROTOCOL_UNBIND_ADAPTER_EX |
|
PROTOCOL_UNINSTALL |
NDIS プロトコル CL コールバック関数 | ロール型名 |
---|---|
PROTOCOL_CL_ADD_PARTY_COMPLETE |
|
PROTOCOL_CL_CALL_CONNECTED |
|
PROTOCOL_CL_CLOSE_AF_COMPLETE |
|
PROTOCOL_CL_CLOSE_CALL_COMPLETE |
|
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE |
|
PROTOCOL_CL_DROP_PARTY_COMPLETE |
|
PROTOCOL_CL_INCOMING_CALL |
|
PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE |
|
PROTOCOL_CL_INCOMING_CLOSE_CALL |
|
PROTOCOL_CL_INCOMING_DROP_PARTY |
|
PROTOCOL_CL_MAKE_CALL_COMPLETE |
|
PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE |
|
PROTOCOL_CL_NOTIFY_CLOSE_AF |
|
PROTOCOL_CL_OPEN_AF_COMPLETE |
|
PROTOCOL_CL_OPEN_AF_COMPLETE_EX |
|
PROTOCOL_CL_REGISTER_SAP_COMPLETE |
CoNDIS CM コールバック関数 | ロール型名 |
---|---|
PROTOCOL_CM_ACTIVATE_VC_COMPLETE |
|
PROTOCOL_CM_ADD_PARTY |
|
PROTOCOL_CM_CLOSE_AF |
|
PROTOCOL_CM_CLOSE_CALL |
|
PROTOCOL_CM_DEACTIVATE_VC_COMPLETE |
|
PROTOCOL_CM_DEREGISTER_SAP |
|
PROTOCOL_CM_DROP_PARTY |
|
PROTOCOL_CM_INCOMING_CALL_COMPLETE |
|
PROTOCOL_CM_MAKE_CALL |
|
PROTOCOL_CM_MODIFY_QOS_CALL |
|
PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE |
|
PROTOCOL_CM_OPEN_AF |
|
PROTOCOL_CM_REG_SAP |
CoNDIS CO コールバック関数 | ロール型名 |
---|---|
PROTCOL_CO_AF_REGISTER_NOTIFY |
|
PROTOCOL_CO_CREATE_VC |
|
PROTOCOL_CO_DELETE_VC |
|
PROTOCOL_CO_OID_REQUEST |
|
PROTOCOL_CO_OID_REQUEST_COMPLETE |
|
PROTOCOL_CO_RECEIVE_NET_BUFFER_LISTS |
|
PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE |
|
PROTOCOL_CO_STATUS_EX |