RxCeAllocateIrpWithMDL 함수(rxce.h)

RxCeAllocateIrpWithMDL 은 IRP를 할당하고 기존 메모리 설명자 목록과 연결합니다.

구문

PIRP RxCeAllocateIrpWithMDL(
  [in] IN CCHAR   StackSize,
  [in] IN BOOLEAN ChargeQuota,
  [in] IN PMDL    Buffer
);

매개 변수

[in] StackSize

IRP에 할당할 스택 크기입니다.

[in] ChargeQuota

이 매개 변수는 중간 드라이버에 의해 FALSE 로 설정되어야 합니다. 이는 드라이버가 다른 IRP를 할당하는 I/O 요청을 시작하는 스레드의 컨텍스트에서 호출되는 최상위 드라이버에서만 TRUE 로 설정할 수 있습니다.

[in] Buffer

이 IRP와 연결할 메모리 설명자 목록이 포함된 버퍼에 대한 포인터입니다.

반환 값

RxCeAllocateIrpWithMDL 은 성공 시 IRP에 대한 포인터 또는 오류 발생 시 NULL 포인터를 반환합니다.

설명

RxCeAllocateIrpWithMDL의 목표는 다른 구성 요소에 발급된 다음 중단된 IRP를 더 쉽게 디버깅할 수 있도록 하는 것입니다. RxCeAllocateIrpWithMDL을 사용하여 발급된 IRP는 RDBSS에서 유지 관리하는 IRP의 전역 목록에 큐에 대기됩니다. 따라서 RX_CONTEXT 전송 완료를 기다리는 경우 전송에서 대기 중인 IRP를 찾기 위해 전역 목록을 볼 수 있습니다.

RxCeFreeIrp을 사용하여 IRP가 완료되면 RxCeAllocateIrpWithMDL에 할당된 연결된 메모리 설명자 목록으로 할당된 IRP를 해제해야 합니다.

IoAllocateIrp 는 자동으로 IRP의 멤버를 초기화하고 RDBSS에서 유지 관리하는 IRP의 전역 목록에 IRP를 삽입합니다. IRP와 연결할 MDL의 메모리를 할당할 수 없는 경우 생성된 IRP가 해제되고 RxCeAllocateIrpWithMDL 이 실패를 나타내는 NULL 포인터를 반환합니다.

요구 사항

   
지원되는 최소 클라이언트 RxCeAllocateIrpWithMDL 루틴은 Windows XP에서만 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 rxce.h(Rxce.h 포함)
IRQL <= APC_LEVEL

참조

MDL

RxCeFreeIrp