SDV を有効にして NDIS ドライバーを検証するには、コールバック関数の役割の種類を使用して、各コールバック関数を宣言する必要があります。 コールバック関数の役割の種類は Ndis.h ヘッダー ファイルで定義され、そのヘッダー ファイルを使用してドライバーをビルドするときに含まれます。
コールバック関数の定義を宣言する前に、ドライバーのコールバック関数を宣言する必要があります。 次のコード例は、 ミニポートInitializeEx コールバック関数の関数ロール型宣言を示しています。 このコールバック関数は、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 |
|
ミニポートResetExの |
MINIPORT_RESET |
ミニポートRestartの |
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 ルーチン ルーチン は、 NdisQueueIoWorkItem 関数の 2 番目のパラメーターで指定されるコールバック ルーチンです。 |
NDIS_IO_WORKITEM_FUNCTION |
NDIS_TIMER_FUNCTION |
推奨される関数宣言
次の関数の役割の種類は、NDIS ドライバーの SDV 規則では現在使用されていません。ただし、将来使用される可能性があります。 これらの関数ロールの種類は Windows 7 で完全にサポートされており、特定の関数ロールの種類を使用してこれらのコールバックを宣言することをお勧めします。
| NDIS フィルター ドライバーコールバック関数 | ロールの種類名 |
|---|---|
FILTER_ATTACH |
|
FILTER_CANCEL_DIRECT_OID_REQUEST |
|
フィルター キャンセル 送信 ネット バッファー リスト |
|
フィルターキャンセルOID要求 |
|
FILTER_DETACH |
|
FILTER_DEVICE_PNP_EVENT_NOTIFYフィルターデバイスPNPイベント通知 |
|
フィルター直通OIDリクエスト |
|
FILTER_DIRECT_OID_REQUEST_COMPLETE |
|
ドライバーアンロード |
|
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_OPTIONS |
|
フィルターの状態 |
| 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 |
|
No improvements are necessary as the original translation is appropriate in this technical context. |
|
PROTOCOL_NET_PNP_EVENT |
|
PROTOCOL_OID_REQUEST_COMPLETE |
|
PROTOCOL_OPEN_ADAPTER_COMPLETE_EX (アダプタ完了プロトコル) |
|
プロトコル受信ネットバッファーリスト |
|
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 |
|
プロトコル_CL_INCOMING_CALL |
|
PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE |
|
PROTOCOL_CL_INCOMING_CLOSE_CALL(プロトコル・CL・インカミング・クローズ・コール) |
|
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 |
|
プロトコル_CM_DROP_パーティー |
|
PROTOCOL_CM_INCOMING_CALL_COMPLETE |
|
PROTOCOL_CM_MAKE_CALL |
|
(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.) |
|
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 |