Функция RxIndicateChangeOfBufferingStateForSrvOpen (rxprocs.h)

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

Синтаксис

void RxIndicateChangeOfBufferingStateForSrvOpen(
  PMRX_SRV_CALL SrvCall,
  PMRX_SRV_OPEN SrvOpen,
  PVOID         SrvOpenKey,
  PVOID         Context
);

Параметры

SrvCall

Указатель на структуру SRV_CALL.

SrvOpen

Указатель на структуру SRV_OPEN.

SrvOpenKey

Указатель на ключ для структуры ключа SRV_OPEN.

Context

Указатель на контекст, передаваемый обратно в сетевой мини-перенаправитель во время обратных вызовов для обработки запроса.

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

None

Remarks

Эта подпрограмма регистрирует запрос состояния буферизации изменений, вставляя его в список регистрации (обработка уровня DPC) или соответствующий список диспетчеров или обработчиков.

Это экземпляр, в котором при изменении состояния буферизации указания на сервере используют ключ, созданный клиентом (SRV_OPEN адрес сам по себе является лучшим ключом, который можно использовать). Это означает, что дальнейший поиск не требуется.

Однако если эта подпрограмма вызывается на уровне DPC, указание обрабатывается так, как если бы поиск был выполнен.

Если ресурс для FCB уже был получен этим потоком, указание об изменении состояния буферизации обрабатывается немедленно без дополнительной задержки. В этом случае RxIndicateChangeOfBufferingStateForSrvOpen немедленно вызывает RxChangeBufferingState.

Внутренние подпрограммы, вызываемые этой подпрограммой, могут завершиться сбоем из-за нехватки доступной памяти (например, не удается выделить память нестраничного пула), но так как это подпрограмма VOID, при возникновении этого условия ошибка не возвращается.

Если запрос состояния буферизации можно обработать немедленно, а не поместить в очередь для последующей обработки, можно вызвать RxChangeBufferingState .

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть rxprocs.h (включая Rxprocs.h, Struchdr.h, Fcb.h)
IRQL <= APC_LEVEL

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

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState