MRxQuerySdInfo 例程

RDBSS 调用MRxQuerySdInfo 例程,以请求网络微型重定向程序查询文件系统对象上的安全描述符信息。

语法

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 发出对 MRxQuerySdInfo 的调用,以响应收到 IRP_MJ_QUERY_SECURITY 请求。

在调用 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)

另请参阅

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo