다음을 통해 공유


RxPrepareContextForReuse 함수(rxcontx.h)

RxPrepareContextForReuse 는 수행된 모든 작업별 할당 및 획득을 다시 설정하여 재사용할 RX_CONTEXT 데이터 구조를 준비합니다(RX_CONTEXT 구조에 대한 ReferenceCount 멤버는 0으로 설정됨). IRP에서 가져온 매개 변수는 수정되지 않습니다.

구문

void RxPrepareContextForReuse(
  [in, out] IN OUT PRX_CONTEXT RxContext
);

매개 변수

[in, out] RxContext

RX_CONTEXT 구조체에 대한 포인터입니다.

반환 값

없음

설명

RxPrepareContextForReuse 루틴은 ReferenceCount 멤버를 0으로 설정하기 전에 RX_CONTEXT 구조의 여러 작업별 멤버가 NULL임을 확인합니다. 충족해야 하는 이러한 작업별 테스트는 다음과 같습니다.

  • 연결된 IRP의 MajorFunction 멤버가 IRP_MJ_CREATE 경우 Create.CanonicalNameBuffer 멤버는 NULL이어야 합니다.
  • 연결된 IRP의 MajorFunction 멤버가 IRP_MJ_READ 또는 IRP_MJ_WRITE 경우 RxContextSerializationQLinks.FlinkRxContextSerializationQLinks.Blink 멤버는 NULL이어야 합니다.
위의 조건 중 하나가 충족되지 않으면 RxPrepareContextForReuse 로 인해 시스템이 확인된 빌드에서 ASSERT로 설정됩니다.

RxPrepareContextForReuse 루틴은 일반적으로 RX_CONTEXT 구조를 직접 다시 초기화하는 네트워크 미니 리다이렉터 드라이버에서만 사용됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 rxcontx.h(Rxprocs.h rxcontx.h 포함)
IRQL <= APC_LEVEL

추가 정보

RxCompleteRequest

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock