Condividi tramite


Funzione NdrGetUserMarshalInfo (rpcndr.h)

La funzione NdrGetUserMarshalInfo fornisce informazioni aggiuntive per wire_marshal e user_marshal funzioni helper.

Sintassi

RPC_STATUS NdrGetUserMarshalInfo(
  unsigned long         *pFlags,
  unsigned long         InformationLevel,
  NDR_USER_MARSHAL_INFO *pMarshalInfo
);

Parametri

pFlags

Puntatore con lo stesso nome passato a RPC alla funzione helper.

InformationLevel

Livello di dettaglio desiderato da ricevere. Diversi livelli implicano diversi set di campi informativi. È attualmente definito solo il livello 1.

pMarshalInfo

Indirizzo di un buffer di memoria, fornito dall'applicazione, per ricevere le informazioni richieste. Il buffer deve essere almeno pari alla struttura delle informazioni indicate da InformationLevel.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_INVALID_ARG
Almeno uno degli argomenti non è valido.
RPC_X_INVALID_BUFFER
Il buffer di marshalling corrente non è valido.

Commenti

La funzione NdrGetUserMarshalInfo viene chiamata dalle funzioni wire_marshal o user_marshal helper (fornite dall'applicazione) <tipo>_UserSize, tipo_UserMarshal, <<tipo>_UserUnmarshal e <tipo>>_UserFree per ricevere informazioni aggiuntive sullo stato della chiamata. Un uso comune per questa funzione consiste nell'ottenere le dimensioni del buffer di marshalling allo scopo di controllare la fine delle condizioni del buffer. L'invio di dati di dimensioni non corrette è un metodo comunemente usato per la violazione della sicurezza del sistema.

Per un elenco completo delle informazioni restituite da NdrGetUserMarshalInfo, vedere NDR_USER_MARSHAL_INFO.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione rpcndr.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

NDR_USER_MARSHAL_INFO

user_marshal

wire_marshal