функция обратного вызова PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE (ndis.h)
Функция ProtocolCmNotifyCloseAfComplete указывает, что клиент завершил закрытие семейства адресов (AF), запущенного автономным диспетчером вызовов или диспетчером вызовов минипорта (MCM), вызвав NdisCmNotifyCloseAddressFamily или Функция NdisMCmNotifyCloseAddressFamily соответственно.
Синтаксис
PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE ProtocolCmNotifyCloseAfComplete;
void ProtocolCmNotifyCloseAfComplete(
[in] NDIS_HANDLE CallMgrAfContext,
[in] NDIS_STATUS Status
)
{...}
Параметры
[in] CallMgrAfContext
Дескриптор контекстной области af диспетчера вызовов, который диспетчер вызовов предоставил NDIS в функции ProtocolCmOpenAf .
[in] Status
Окончательное состояние клиентов для уведомления о закрытии AF. Состояние может быть одним из следующих:
NDIS_STATUS_SUCCESS
Клиент успешно закрыл свое семейство адресов.
NDIS_STATUS_XXX
Клиент не выполнил запрос по какой-либо причине, определенной драйвером.
Возвращаемое значение
None
Remarks
Для диспетчеров вызовов CoNDIS требуется функция ProtocolCmNotifyCloseAfComplete .
Если автономный диспетчер вызовов отменяет привязку к базовому адаптеру мини-порта, диспетчер вызовов должен вызвать Функция NdisCmNotifyCloseAddressFamily перед отменой привязки. Когда диспетчер вызовов минипорта (MCM) останавливает адаптер минипорта, MCM должен вызвать Функция NdisMCmNotifyCloseAddressFamily .
Если NdisCmNotifyCloseAddressFamily или NdisMCmNotifyCloseAddressFamily возвращает NDIS_STATUS_PENDING, NDIS вызывает ProtocolCmNotifyCloseAfComplete после завершения клиентом операции закрытия AF.
NDIS вызывает ProtocolCmNotifyCloseAfComplete по адресу IRQL <= DISPATCH_LEVEL.
Примеры
Чтобы определить функцию ProtocolCmNotifyCloseAfComplete , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.Например, чтобы определить функцию ProtocolCmNotifyCloseAfComplete с именем MyCmNotifyCloseAfComplete, используйте тип PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE , как показано в этом примере кода:
PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE MyCmNotifyCloseAfComplete;
Затем реализуйте функцию следующим образом:
_Use_decl_annotations_
VOID
MyCmNotifyCloseAfComplete(
NDIS_HANDLE CallMgrAfContext,
NDIS_STATUS Status
)
{...}
Тип функции PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE определен в файле заголовка Ndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, применяемых к типу функции PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе Объявление функций с помощью типов ролей функций для драйверов NDIS.
Сведения о Use_decl_annotations см. в статье О поведении функции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Windows |
Header | ndis.h (включая Ndis.h) |
IRQL | <= DISPATCH_LEVEL |