다음을 통해 공유


RxPrepareContextForReuse 함수(rxcontx.h)

RxPrepareContextForReuse 수행된 모든 작업별 할당 및 획득을 다시 설정하여 다시 사용할 RX_CONTEXT 데이터 구조를 준비합니다(ReferenceCount 멤버를 RX_CONTEXT 구조체에 대한 멤버는 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