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 |