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

Функция NdkCloseObject (NDK_FN_CLOSE_OBJECT) инициирует запрос на закрытие объекта NDK.

Синтаксис

NDK_FN_CLOSE_OBJECT NdkFnCloseObject;

NTSTATUS NdkFnCloseObject(
  [in]           NDK_OBJECT_HEADER *pNdkObject,
  [in]           NDK_FN_CLOSE_COMPLETION CloseCompletion,
  [in, optional] PVOID RequestContext
)
{...}

Параметры

[in] pNdkObject

Указатель на заголовок объекта (NDK_OBJECT_HEADER) для закрытия объекта.

[in] CloseCompletion

Указатель на функцию обратного вызова завершения закрытия NdkCloseCompletion (NDK_FN_CLOSE_COMPLETION).

[in, optional] RequestContext

Значение контекста для поставщика NDK, передаваемое обратно функции NdkCloseCompletion , указанной в параметре CloseCompletion .

Возвращаемое значение

Функция NdkCloseObject возвращает один из следующих кодов NTSTATUS.

Код возврата Описание
STATUS_SUCCESS
Объект NDK закрыт. Поставщик не будет вызывать функцию NdkCloseCompletion .
STATUS_PENDING
Запрос находится в ожидании, поставщик вызовет функцию NdkCloseCompletion для асинхронного завершения операции. Запрос на закрытие успешно инициирован, но он может быть не завершен.
Другие коды состояния
Произошла ошибка.

Комментарии

Таблица диспетчеризации функций для каждого типа объекта NDK содержит указатель NDK_FN_CLOSE_OBJECT функции. Запросы закрытия являются асинхронными. Потребитель NDK не должен обращаться к объекту после запуска запроса на закрытие.

Поставщик NDK должен убедиться, что функция NdkCloseCompletion (NDK_FN_CLOSE_COMPLETION) является последним обратным вызовом для закрывающегося объекта. Поставщик должен убедиться, что все невыполненные асинхронные запросы завершены, а все выполняемые обратные вызовы возвращены, а дальнейшие обратные вызовы предотвращаются до того, как поставщик вызовет функцию NdkCloseCompletion . После того как поставщик вызывает функцию NdkCloseCompletion , поставщик не вызывает функции завершения или обратного вызова уведомлений для объекта.

Требования

Требование Значение
Минимальная версия клиента Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях.
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header ndkpi.h (включая Ndkpi.h)
IRQL <=DISPATCH_LEVEL

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

Требования к времени существования объекта NDKPI

NDK_CONNECTOR_DISPATCH

NDK_CQ_DISPATCH

NDK_FN_CLOSE_COMPLETION

NDK_OBJECT_HEADER