NdrGetUserMarshalInfo function (rpcndr.h)
The NdrGetUserMarshalInfo function provides additional information to wire_marshal and user_marshal helper functions.
Syntax
RPC_STATUS NdrGetUserMarshalInfo(
unsigned long *pFlags,
unsigned long InformationLevel,
NDR_USER_MARSHAL_INFO *pMarshalInfo
);
Parameters
pFlags
Pointer by the same name that RPC passed to the helper function.
InformationLevel
Desired level of detail to be received. Different levels imply different sets of information fields. Only level 1 is currently defined.
pMarshalInfo
Address of a memory buffer, supplied by the application, to receive the requested information. The buffer must be at least as large as the information structure indicated by InformationLevel.
Return value
Value | Meaning |
---|---|
|
The call succeeded. |
|
At least one of the arguments was not valid. |
|
Current marshaling buffer was not valid. |
Remarks
The NdrGetUserMarshalInfo function is called by the wire_marshal or user_marshal helper functions (provided by the application) <type>_UserSize, <type>_UserMarshal, <type>_UserUnmarshal, and <type>_UserFree to receive extra information about the state of the call. A common use for this function is to obtain the size of the marshaling buffer for the purpose of checking for end of buffer conditions. Sending incorrectly sized data is a commonly used method of breaching system security.
For a full listing of the information returned by NdrGetUserMarshalInfo, see NDR_USER_MARSHAL_INFO.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
Target Platform | Windows |
Header | rpcndr.h (include Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |