PMRX_CALLDOWN_CTX 콜백 함수(mrx.h)

네트워크 미니 리디렉터를 시작하기 위해 RDBSS에서 MRxStart 루틴을 호출합니다.

구문

PMRX_CALLDOWN_CTX PmrxCalldownCtx;

NTSTATUS PmrxCalldownCtx(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}

매개 변수

[in, out] RxContext

RX_CONTEXT 구조체에 대한 포인터입니다. 이 매개 변수에는 네트워크 미니 리디렉션기를 시작하도록 요청한 IRP가 포함되어 있습니다.

[in, out] RxDeviceObject

이 네트워크 미니 리디렉션자에 대한 RDBSS_DEVICE_OBJECT 구조체에 대한 포인터입니다.

반환 값

MRxStart 는 성공에 대한 STATUS_SUCCESS 반환하거나 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_REDIRECTOR_STARTED 네트워크 미니 리 디렉터가 이미 시작되었습니다.
STATUS_UNSUCCESSFUL 네트워크 미니 리렉터에서 성공적으로 시작할 수 없습니다.

설명

MRxStart 는 RDBSS 관점에서 네트워크 미니 리디렉터의 초기화를 완료합니다. 이는 DriverEntry 루틴에서 수행된 초기화와 다릅니다. RDBSS에 의존하는 모든 초기화는 이 루틴의 일부로 수행해야 하지만 RDBSS와 독립적인 초기화는 DriverEntry 루틴에서 수행해야 합니다.

MRxStart를 호출하기 전에 RDBSS는 RxContext 매개 변수가 가리키는 RX_CONTEXT 구조에서 다음 멤버를 수정합니다.

MajorFunction 멤버는 IRP의 주 함수로 설정됩니다.

LowIoContext.ParamsFor.FsCtl.FsControlCode 멤버는 네트워크 미니 리디렉션기를 시작하는 데 사용되는 FSTCL 요청인 경우 IRP에 대한 FSCTL 코드로 설정됩니다.

MRxStartRxStartMinirdr 루틴에서 RDBSS에 의해 호출됩니다. MRxStart를 호출하기 전에 RDBSS는 네트워크 미니 리디렉터의 RxDeviceObject를 파일 시스템으로 등록합니다. 또한 네트워크 미니 리디렉션기가 UNC 이름에 대한 지원을 나타내는 경우 RDBSS는 네트워크 미니 리다이렉터를 UNC 공급자로 등록합니다.

MRxStart가 STATUS_SUCCESS 반환하면 루틴이 성공했습니다. 다른 반환 값은 시작 시퀀스에서 오류가 발생했음을 나타냅니다.

MRxStart가 STATUS_SUCCESS 반환하는 경우 RDBSS는 RDBSS의 상태를 RDBSS_STARTED 설정합니다. 이 상태는 RxDeviceObject가 가리키는 RDBSS_DEVICE_OBJECT 구조체의 StartStopContext.State 멤버에 저장됩니다.

네트워크 미니 리디렉션기는 일반적으로 네트워크 미니 리디렉션기가 시작되었는지 여부를 나타내는 내부 변수를 유지 관리합니다. 예를 들어 네트워크 미니 리디렉션기는 중지, 시작, 시작 작업 또는 중지 작업이 진행 중인 시기를 추적할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 mrx.h(Mrx.h 포함)

추가 정보

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr