MRxQuerySdInfo 루틴
TheMRxQuerySdInfo 루틴은 RDBSS에서 파일 시스템 개체에 대한 네트워크 미니 리디렉터 쿼리 보안 설명자 정보를 요청하기 위해 호출됩니다.
구문
PMRX_CALLDOWN MRxQuerySdInfo;
NTSTATUS MRxQuerySdInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
매개 변수
RxContext [in, out]
RX_CONTEXT 구조체에 대한 포인터입니다. 이 매개 변수에는 작업을 요청하는 IRP가 포함되어 있습니다.
반환 값
MRxQuerySdInfo 는 성공 시 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_INSUFFICIENT_RESOURCES | 쿼리를 완료할 수 있는 리소스가 부족했습니다. |
| STATUS_INVALID_PARAMETER | 잘못된 매개 변수가 지정되었습니다. |
| STATUS_NETWORK_ACCESS_DENIED | 네트워크 액세스가 거부되었습니다. |
| STATUS_NOT_IMPLEMENTED | 원격 페이지 파일에 대한 정보와 같이 요청된 기능은 구현되지 않습니다. |
| STATUS_NOT_SUPPORTED | 원격 공유에서는 보안 설명자 정보가 지원되지 않습니다. |
| STATUS_OBJECT_PATH_NOT_FOUND | 개체 경로를 찾을 수 없습니다. NTFS 스트림 개체에 대한 정보가 요청되었고 원격 파일 시스템에서 스트림을 지원하지 않는 경우 이 오류가 반환될 수 있습니다. |
| STATUS_REPARSE | 심볼 링크를 처리하려면 재문 분석이 필요합니다. |
설명
RDBSS는 IRP_MJ_QUERY_SECURITY 요청 수신에 대한 응답으로 MRxQuerySdInfo에 대한 호출을 실행합니다.
MRxQuerySdInfo를 호출하기 전에 RDBSS는 RxContext 매개 변수가 가리키는 RX_CONTEXT 구조에서 다음 멤버를 수정합니다.
QuerySecurity.SecurityInformation 멤버가 IrpSp-Parameters.QuerySecurity.SecurityInformation>으로 설정됩니다.
Info.Buffer 멤버는 I/O 요청 패킷에서 사용자 버퍼로 설정됩니다. 필요한 경우 RDBSS에서 이 버퍼를 이미 잠갔습니다.
Info.LengthRemaining 멤버는 IrpSp-Parameters.QuerySecurity.Length>로 설정됩니다.
성공하면 네트워크 미니 리다이렉터에서 RX_CONTEXT 구조체의 InformationToReturn 멤버를 반환된 보안 정보의 길이로 설정해야 합니다. MRxQuerySdInfo 호출에 성공한 경우 RDBSS는 IRP의 IoStatus.Information 멤버를 RX_CONTEXT InformationToReturn 멤버로 설정합니다.
요구 사항
대상 플랫폼 |
데스크톱 |
헤더 |
Mrx.h(Mrx.h 포함) |