MRxSetEaInfo - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// mrx.h

PMRX_CALLDOWN MRxSetEaInfo;

NTSTATUS MRxSetEaInfo(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }
View the official Windows hardware development documentation

NtDoc

No description available.

Windows hardware development documentation (mrxseteainfo)

MRxSetEaInfo routine

TheMRxSetEaInfo routine is called by RDBSS to request that a network mini-redirector set extended attribute information on a file system object.

Parameters

RxContext [in, out] A pointer to the RX_CONTEXT structure. This parameter contains the IPR that is requesting the operation.

Return value

MRxSetEaInfo returns STATUS_SUCCESS on success or an appropriate NTSTATUS value, such as one of the following:

Return code Description
STATUS_ACCESS_DENIED The caller lacked the proper security for this operation.
STATUS_EA_TOO_LARGE The extended attribute information that is passed is larger than the size that is supported by the remote share.
STATUS_FILE_CLOSED The SRV_OPEN structure was closed.
STATUS_INSUFFICIENT_RESOURCES There were insufficient resources to complete the query.
STATUS_INVALID_PARAMETER An invalid parameter was specified.
STATUS_NETWORK_ACCESS_DENIED Network access was denied. This error can be returned if the network mini-redirector was asked to set extended attributes on a read-only share.
STATUS_NOT_IMPLEMENTED A feature that is requested, such as setting extended information on a remote page file, is not implemented.
STATUS_NOT_SUPPORTED Extended attributes are not supported.
STATUS_OBJECT_NAME_NOT_FOUND The object name was not found. This error can be returned if the network mini-redirector was asked to set extended attributes on a file, but the file doesn't exist.
STATUS_OBJECT_PATH_NOT_FOUND The object path was not found. This error can be returned if an NTFS stream object was passed and the remote file system does not support streams.
STATUS_ONLY_IF_CONNECTED The SRV_OPEN structure is not connected.
STATUS_REPARSE A reparse is required to handle a symbolic link.

Remarks

RDBSS issues a call to MRxSetEaInfo in response to receiving an IRP_MJ_SET_EA request.

Before calling MRxSetEaInfo, RDBSS modifies the following members in the RX_CONTEXT structure pointed to by the RxContext parameter:

The Info.Buffer member is set to the user buffer from I/O request packet. This buffer has already been locked by RDBSS if needed.

The Info.LengthRemaining member is set to IrpSp->Parameters.QueryEa.Length.

Requirements

Target platform Desktop
Header Mrx.h (include Mrx.h)

See also

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo