Funzione NdrConformantArrayUnmarshall (rpcndr.h)
La funzione NdrConformantArrayUnmarshall annulla una matrice conforme.
Sintassi
unsigned char * NdrConformantArrayUnmarshall(
[in] PMIDL_STUB_MESSAGE pStubMsg,
[out] unsigned char **ppMemory,
[in] PFORMAT_STRING pFormat,
[in] unsigned char fMustAlloc
);
Parametri
[in] pStubMsg
Puntatore a una struttura MIDL_STUB_MESSAGE che mantiene lo stato corrente dello stub RPC. Questa struttura è destinata solo all'uso interno e non deve essere modificata.
[out] ppMemory
Indirizzo a un puntatore al buffer in cui la matrice conforme non vienemarshalled. Se impostato su Null o se fMustAlloc è impostato su TRUE, lo stub alloca la memoria.
[in] pFormat
Puntatore alla descrizione della stringa di formato.
[in] fMustAlloc
Flag che specifica se lo stub deve allocare la memoria in cui deve essere eseguita la marshalling della matrice conforme. Specificare TRUE se RPC deve allocare ppMemory.
Valore restituito
Restituisce Null al termine dell'operazione. Se si verifica un errore, la funzione genera uno dei codici di eccezione seguenti.
Codice restituito | Descrizione |
---|---|
|
La rete non è corretta. |
|
La rete non è corretta. |
|
Il sistema non è in memoria. |
|
Si è verificata una violazione di accesso. |
|
Si è verificato un errore in RPC. |
Commenti
La funzione NdrConformantArrayUnmarshall viene usata sia dal client che dallo stub lato server per annullare unmarshall di una matrice conforme. Lo stub potrebbe allocare memoria in base alle esigenze. Ad esempio, pArray nell'esempio in questa pagina punta a una matrice conforme.
NdrConformantArrayUnmarshall deve essere chiamato solo nel contesto di uno stub RPC, dopo l'inizializzazione del client o del server stub.
Esempio
void ConfArray([in] long size,
[in,size_is(size)] long *pArray); // conformant array
Requisiti
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 |