Функция RxPrepareContextForReuse (rxcontx.h)
RxPrepareContextForReuse подготавливает RX_CONTEXT структуру данных для повторного использования путем сброса всех выделенных ресурсов и приобретений для конкретных операций (для элемента ReferenceCount для структуры RX_CONTEXT задано нулевое значение). Параметры, полученные из IRP, не изменяются.
Синтаксис
void RxPrepareContextForReuse(
[in, out] IN OUT PRX_CONTEXT RxContext
);
Параметры
[in, out] RxContext
Указатель на структуру RX_CONTEXT.
Возвращаемое значение
None
Remarks
Подпрограмма RxPrepareContextForReuse проверяет, что несколько элементов, относящихся к конкретной операции, в структуре RX_CONTEXT имеют значение NULL , прежде чем задать для элемента ReferenceCount значение 0. Ниже перечислены тесты для конкретных операций, которые должны быть выполнены.
- Если элемент MajorFunction связанного IRP является IRP_MJ_CREATE, то элемент Create.CanonicalNameBuffer должен иметь значение NULL.
- Если элемент MajorFunction связанного IRP является IRP_MJ_READ или IRP_MJ_WRITE, то элементы RxContextSerializationQLinks.Flink и RxContextSerializationQLinks.Blinks должны иметь значение NULL.
Подпрограмма RxPrepareContextForReuse обычно используется только драйверами мини-перенаправления сети, которые повторно инициализируют RX_CONTEXT структуры напрямую.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | rxcontx.h (включая Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
См. также раздел
RxDereferenceAndDeleteRxContext_Real
RxResumeBlockedOperations_Serially