다음을 통해 공유


MRxQueryDirectory 루틴

MRxQueryDirectory 루틴은 RDBSS가 파일 디렉터리에 대한 네트워크 미니 리디렉터 쿼리 정보를 요청하기 위해 호출됩니다.

구문

PMRX_CALLDOWN MRxQueryDirectory;

NTSTATUS MRxQueryDirectory(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

매개 변수

RxContext [in, out]
RX_CONTEXT 구조체에 대한 포인터입니다. 이 매개 변수에는 작업을 요청하는 IRP가 포함되어 있습니다.

반환 값

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

반환 코드 설명
STATUS_ACCESS_DENIED

호출자에게 이 작업에 대한 적절한 보안이 부족합니다.

STATUS_INSUFFICIENT_RESOURCES

쿼리를 완료할 리소스가 부족했습니다.

STATUS_INVALID_NETWORK_RESPONSE

원격 서버에서 잘못된 파일 정보 버퍼를 받았거나 반환된 파일 이름 길이가 허용되는 최대 길이를 초과했습니다.

STATUS_INVALID_PARAMETER

RxContext 매개 변수가 가리키는 RX_CONTEXT 구조체의 Info.FileInformationClass 멤버에 잘못된 FileInformationClass가 지정되었습니다.

STATUS_LINK_FAILED

쿼리를 완료하기 위해 원격 서버에 다시 연결하지 못했습니다.

STATUS_NO_SUCH_FILE

쿼리에서 항목을 찾지 못했습니다.

STATUS_SHARING_VIOLATION

공유 위반이 발생했습니다.

설명

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

Info.FileInformationClass 멤버는 IrpSp-Parameters.QueryDirectory.FileInformationClass>로 설정됩니다.

Info.Buffer 멤버는 I/O 요청 패킷에서 사용자 버퍼로 설정됩니다. 필요한 경우 RDBSS에서 이 버퍼를 이미 잠갔습니다.

Info.LengthRemaining 멤버는 IrpSp-Parameters.QueryDirectory.Length>로 설정됩니다.

QueryDirectory.FileIndex 멤버는 IrpSp-Parameters.QueryDirectory.FileIndex>로 설정됩니다.

IrpSp-Flags>에 SL_RESTART_SCAN 비트가 설정되어 있으면 QueryDirectory.RestartScan 멤버가 0이 아닌 값으로 설정됩니다.

IrpSp-Flags>에 SL_RETURN_SINGLE_ENTRY 비트가 있는 경우 QueryDirectory.ReturnSingleEntry 멤버가 0이 아닌 값으로 설정됩니다.

IrpSp-Flags>에 SL_INDEX_SPECIFIED 비트가 설정되어 있으면 QueryDirectory.IndexSpecified 멤버가 0이 아닌 값으로 설정됩니다.

연결된 FOBX의 UnicodeQueryTemplate.Buffer 멤버가 NULL이고 FOBX의 Flags 멤버에 FOBX_FLAG_MATCH_ALL 비트가 없으면 QueryDirectory.InitialQuery 멤버가 0이 아닌 값으로 설정됩니다.

예를 들어 야생 카드 쿼리(예: "*.*")의 경우 RDBSS는 연결된 FOBX의 UnicodeQueryTemplate.Buffer 멤버를 전달된 야생 카드 쿼리로 설정합니다.

MRxQueryDirectory에서 반환할 때 RX_CONTEXT 구조체의 PostRequest 멤버가 TRUE이면 RDBSS는 FSP(파일 시스템 프로세스)에서 처리하기 위해 RX_CONTEXT 구조를 작업자 큐에 전달하는 RxFsdPostRequest를 호출합니다.

요구 사항

대상 플랫폼

데스크톱

헤더

Mrx.h(Mrx.h 포함)

추가 정보

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest