Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы включить 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 Рутина Подпрограмма — это функция обратного вызова, указанная во втором параметре функции NdisQueueIoWorkItem. |
NDIS_IO_WORKITEM_FUNCTION |
NDIS_TIMER_FUNCTION |
Рекомендуемые объявления функций
Следующие типы ролей функций в настоящее время не используются в правилах SDV для драйверов NDIS; однако они, скорее всего, будут использоваться в будущем. Для Windows 7 полностью поддерживаются эти типы функциональных ролей, и мы рекомендуем использовать их для объявления соответствующих обратных вызовов.
Функция обратного вызова драйвера фильтра NDIS | Имя типа роли |
---|---|
FILTER_ATTACH |
|
FILTER_CANCEL_DIRECT_OID_REQUEST (Отмена запроса OID Direct в фильтре) |
|
FILTER_CANCEL_SEND_NET_BUFFER_LISTS |
|
ОТМЕНА_ЗАПРОСА_OID_ФИЛЬТРА |
|
FILTER_DETACH |
|
FILTER_DEVICE_PNP_EVENT_NOTIFY |
|
FILTER_DIRECT_OID_REQUEST |
|
Завершение запроса на прямое получение 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_RETURN_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS_COMPLETE |
|
FILTER_SET_MODULE_OPTIONS |
|
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 |
|
Запрос завершён прямым протоколом OID |
|
PROTOCOL_NET_PNP_EVENT |
|
Протокол_Запрос_Идентификатора_Завершён |
|
PROTOCOL_OPEN_ADAPTER_COMPLETE_EX |
|
PROTOCOL_RECEIVE_NET_BUFFER_LISTS |
|
PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE |
|
ПРОТОКОЛ_УСТАНОВКА_ОПЦИЙ |
|
PROTOCOL_STATUS_EX |
|
PROTOCOL_UNBIND_ADAPTER_EX |
|
ПРОТОКОЛ_УДАЛЕНИЕ |
Функция обратного вызова протокола 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 |
|
ПРОТОКОЛ_CL_ВХОДЯЩИЙ_ОТКАЗ_ПАРТИИ |
|
PROTOCOL_CL_MAKE_CALL_COMPLETE |
|
ПРОТОКОЛ_CL_МОДИФИКАЦИЯ_ВЫЗОВА_QOS_ЗАВЕРШЕНА |
|
PROTOCOL_CL_NOTIFY_CLOSE_AF |
|
PROTOCOL_CL_OPEN_AF_COMPLETE |
|
PROTOCOL_CL_OPEN_AF_COMPLETE_EX |
|
PROTOCOL_CL_REGISTER_SAP_COMPLETE |
Функция обратного вызова CoNDIS CM | Имя типа роли |
---|---|
ПРОТОКОЛ_CM_ACTIVATE_VC_ЗАВЕРШЕНО |
|
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 |