Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Чтобы включить 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 |