다음을 통해 공유


MRxQueryEaInfo 루틴

MRxQueryEaInfo 루틴은 RDBSS에서 호출되어 네트워크 미니 리디렉터에서 파일 시스템 개체에 대한 확장된 특성 정보를 쿼리하도록 요청합니다.

구문

PMRX_CALLDOWN MRxQueryEaInfo;

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

매개 변수

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

반환 값

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

반환 코드 설명
STATUS_ACCESS_DENIED

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

STATUS_BUFFER_OVERFLOW

확장된 특성 정보를 받을 버퍼가 너무 작습니다.

이 반환 값은 성공으로 간주되어야 하며 RxContext 매개 변수가 가리키는 RX_CONTEXT 구조체의 Info.Buffer 멤버에서 가능한 한 많은 유효한 데이터를 반환해야 합니다.

STATUS_BUFFER_TOO_SMALL

버퍼가 너무 작아서 요청된 데이터를 받을 수 없습니다.

이 값이 반환되면 RxContext 매개 변수가 가리키는 RX_CONTEXT 구조체의 InformationToReturn 멤버를 호출이 성공하기 위해 예상 버퍼의 최소 크기로 설정해야 합니다.

STATUS_CONNECTION_DISCONNECTED

연결이 끊어졌습니다.

STATUS_EA_CORRUPT_ERROR

원격 서버에서 잘못된 확장 특성 정보를 수신했습니다.

STATUS_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_PARAMETER

잘못된 매개 변수가 지정되었습니다.

STATUS_NONEXISTENT_EA_ENTRY

파일 개체에 확장 특성이 없으며 사용자가 확장 특성 인덱스 제공

STATUS_NOT_SUPPORTED

확장 특성은 지원되지 않습니다.

STATUS_ONLY_IF_CONNECTED

SRV_OPEN 구조체가 연결되어 있지 않습니다.

STATUS_REQUEST_ABORTED

네트워크 요청이 중단되었습니다.

설명

RDBSS는 IRP_MJ_QUERY_EA 요청 수신에 대한 응답으로 MRxQueryEaInfo에 대한 호출을 실행합니다.

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

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

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

QueryEa.UserEaList 멤버는 IrpSp-Parameters.QueryEa.EaList>로 설정됩니다.

QueryEa.UserEaListLength 멤버는 IrpSp-Parameters.QueryEa.EaListLength>로 설정됩니다.

QueryEa.UserEaIndex 멤버는 IrpSp-Parameters.QueryEa.EaIndex>로 설정됩니다.

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

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

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

성공하면 MRxQueryEaInfo는 RX_CONTEXT 구조체의 Info.LengthRemaining 멤버를 반환된 확장 특성 정보의 길이로 설정하고 Fobx-OffsetOfNextEaToReturn> 멤버도 업데이트해야 합니다. MRxQueryEaInfo 호출에 성공하면 RDBSS는 IRP의 IoStatus.Information 멤버를 IrpSp-Parameters.QueryEa.Length>로 설정하여 RX_CONTEXT Info.LengthRemaining 멤버를 뺀 값입니다.

요구 사항

대상 플랫폼

데스크톱

헤더

Mrx.h(Mrx.h 포함)

추가 정보

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo