Поделиться через


функция обратного вызова PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE (ndis.h)

Функция ProtocolCmNotifyCloseAfComplete указывает, что клиент завершил закрытие семейства адресов (AF), запущенного автономным диспетчером вызовов или диспетчером вызовов минипорта (MCM), вызвав NdisCmNotifyCloseAddressFamily или Функция NdisMCmNotifyCloseAddressFamily соответственно.

Примечание Функцию необходимо объявить с помощью типа PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE . Дополнительные сведения см. в следующем разделе Примеры.
 

Синтаксис

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

См. также раздел

NdisCmNotifyCloseAddressFamily NdisMCmNotifyCloseAddressFamily

ProtocolCmOpenAf