функция RxResumeBlockedOperations_Serially (rxcontx.h)
RxResumeBlockedOperations_Serially активирует следующий поток ожидания в очереди блокирующих операций ввода-вывода, если таковой есть.
Синтаксис
void RxResumeBlockedOperations_Serially(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PLIST_ENTRY BlockingIoQ
);
Параметры
[in, out] RxContext
Указатель на RX_CONTEXT структуру синхронизируемой операции.
[in, out] BlockingIoQ
Указатель на очередь блокирующего ввода-вывода.
Возвращаемое значение
None
Remarks
RxResumeBlockedOperations_Serially активирует следующий рабочий элемент в сериализованной очереди блокирующих операций ввода-вывода, если он существует. Структура FCB по-прежнему должна быть действительной из-за ссылки, которая хранится системой ввода-вывода в объекте файла, что предотвращает операцию закрытия.
Сериализованная очередь блокирующего ввода-вывода — это очередь, для которой элемент FlagsForLowIo структуры RX_CONTEXT, на который указывает RxContext , имеет RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION бит.
RxResumeBlockedOperations_Serially выполняет эту операцию, вызывая RxFsdPostRequest для отправки операции в рабочий поток.
Подпрограмма RxResumeBlockedOperations_Serially обычно не вызывается напрямую драйвером сетевого мини-перенаправления, но вызывается внутри RDBSS при обработке синхронных операций чтения и записи в именованном канале, для работы с которым требуется сериализованная очередь.
Если RX_CONTEXT помещен в очередь синхронизации с помощью __RxSynchronizeBlockingOperations или __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock, может потребоваться RxResumeBlockedOperations_Serially вызвать сетевой мини-перенаправление.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | rxcontx.h (включая Rxcontx.h) |
IRQL | <= APC_LEVEL |
См. также раздел
RxDereferenceAndDeleteRxContext_Real