MRxSetEaInfo routine
TheMRxSetEaInfo routine is called by RDBSS to request that a network mini-redirector set extended attribute information on a file system object.
Syntax
PMRX_CALLDOWN MRxSetEaInfo;
NTSTATUS MRxSetEaInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
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) |