Функция NdisCoDeleteVc (ndis.h)
NdisCoDeleteVc уничтожает созданный вызывающим объект VC.
Синтаксис
NDIS_STATUS NdisCoDeleteVc(
[in] NDIS_HANDLE NdisVcHandle
);
Параметры
[in] NdisVcHandle
Указывает дескриптор, определяющий удаленный VC. Вызывающий объект первоначально получил этот дескриптор из NdisCoCreateVc.
Возвращаемое значение
NdisCoDeleteVc может вернуть одно из следующих элементов:
Возвращаемый код | Описание |
---|---|
|
NDIS удалила VC. |
|
VC по-прежнему активен, поэтому его нельзя удалить. |
|
Этот вызов является избыточным, но деактивация в заданном VC по-прежнему ожидается. |
Замечания
Когда протокол вызывает NdisCoDeleteVc, не должно быть невыполненных вызовов для данного VC и что VC уже деактивирован. Для удовлетворения этих требований подразумевается, что хранятся следующие условия:
- Если вызов разрыва был инициирован локальным клиентом, этот клиент уже вызвал NdisCloseCall с заданным NdisVcHandle и его запрос на закрытый вызов успешно завершен.
- Если отключение вызова было инициировано удаленным клиентом, автономный диспетчер вызовов уже вызвал NdisCmDeactivateVc с заданным NdisVcHandle и его запрос деактивации успешно завершен.
Когда NdisCoDeleteVc возвращает элемент управления, NdisVcHandle больше не является допустимым.
Автономные диспетчеры вызовов, которые регистрируют себя в качестве драйверов протокола NDIS, могут вызывать NdisCoDeleteVc. Вместо этого драйверы мини-порта, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами, NdisMCmDeleteVc.