функция обратного вызова PROTOCOL_CM_DEREGISTER_SAP (ndis.h)
Требуется функция ProtocolCmDeregisterSap . Эта функция вызывается NDIS для запроса отмены диспетчером вызовов регистрации SAP от имени клиента, ориентированного на подключение.
Синтаксис
PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;
NDIS_STATUS ProtocolCmDeregisterSap(
[in] NDIS_HANDLE CallMgrSapContext
)
{...}
Параметры
[in] CallMgrSapContext
Указывает дескриптор области контекста, выделенной диспетчером вызовов, в которой диспетчер вызовов хранит сведения о состоянии SAP. Диспетчер вызовов предоставил этот дескриптор в NDIS из своей Функция ProtocolCmRegisterSap .
Возвращаемое значение
ProtocolCmDeregisterSap возвращает состояние своих операций как одно из следующих:
Код возврата | Описание |
---|---|
|
Указывает, что диспетчер вызовов успешно удалил регистрацию SAP и освободил все ресурсы, выделенные для обслуживания данных SAP. |
|
Указывает, что диспетчер вызовов выполнит запрос на отмену регистрации SAP асинхронно. Диспетчер вызовов должен вызвать NdisCmDeregisterSapComplete , чтобы сообщить NDIS о завершении операции. |
Комментарии
ProtocolCmDeregisterSap при необходимости взаимодействует с устройствами управления сетью или другими агентами, зависящими от носителя, чтобы отменить регистрацию SAP в сети. Такие действия могут включать, помимо прочего, следующие:
- Взаимодействие с коммутационным оборудованием
- Взаимодействие со станцией управления сетью
- Взаимодействие с другими сетевыми агентами, зависящими от носителя
Кроме того, ProtocolCmDeregisterSap должен освободить все динамически выделенные ресурсы в своей области SAP, предоставленной в CallMgrSapContext, а также освободить саму область состояния перед возвратом управления в NDIS.
Примеры
Чтобы определить функцию ProtocolCmDeregisterSap , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.Например, чтобы определить функцию ProtocolCmDeregisterSap с именем MyCmDeregisterSap, используйте тип PROTOCOL_CM_DEREGISTER_SAP , как показано в следующем примере кода:
PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;
Затем реализуйте функцию следующим образом:
_Use_decl_annotations_
NDIS_STATUS
MyCmDeregisterSap(
NDIS_HANDLE CallMgrSapContext
)
{...}
Тип функции PROTOCOL_CM_DEREGISTER_SAP определен в файле заголовка Ndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции PROTOCOL_CM_DEREGISTER_SAP в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе Объявление функций с помощью типов ролей функций для драйверов NDIS.
Сведения о Use_decl_annotations см. в статье О поведении функции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. ProtocolCmDeregisterSap (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. ProtocolCmDeregisterSap (NDIS 5.1)) в Windows XP. |
Целевая платформа | Windows |
Header | ndis.h (включая Ndis.h) |
IRQL | <= DISPATCH_LEVEL |