Funzione RpcErrorStartEnumeration (rpcasync.h)
La funzione RpcErrorStartEnumeration inizia l'enumerazione delle informazioni sugli errori estese.
Sintassi
RPC_STATUS RpcErrorStartEnumeration(
RPC_ERROR_ENUM_HANDLE *EnumHandle
);
Parametri
EnumHandle
Puntatore all'handle di enumerazione, sotto forma di struttura RPC_ERROR_ENUM_HANDLE . La struttura deve essere allocata dal chiamante e non può essere liberata fino al completamento dell'operazione. Tutti i membri vengono ignorati nell'input.
Valore restituito
Il completamento riuscito restituisce RPC_S_OK.
Restituisce RPC_S_ENTRY_NOT_FOUND se nel thread non sono presenti informazioni di errore estese. Se è in corso un'enumerazione, l'avvio di una seconda enumerazione inizia dall'inizio.
Commenti
La chiamata alla funzione RpcErrorStartEnumeration deve essere eseguita immediatamente dopo la chiamata che ha restituito l'errore. In caso contrario, le informazioni sugli errori estese possono essere sovrascritte dalle chiamate successive. Gli handle di enumerazione devono essere liberati con la funzione RpcErrorEndEnumeration.
Dopo aver chiamato RpcErrorStartEnumeration , è possibile usare l'handle di enumerazione da un thread diverso. La funzione RpcErrorStartEnumeration acquisisce uno snapshot delle informazioni sugli errori estese e l'handle di enumerazione restituito opera sullo snapshot. Tuttavia, le funzioni di enumerazione non vengono sincronizzate tra thread tramite RPC e quindi il chiamante è responsabile di questa operazione. Le chiamate successive a RpcErrorStartEnumeration iniziano una nuova enumerazione e non crea una seconda enumerazione per le stesse informazioni sugli errori estese.
La funzione RpcErrorStartEnumeration potrebbe non riuscire se non è disponibile memoria sufficiente per avviare l'enumerazione. L'handle di enumerazione può essere passato solo alle funzioni RpcError* e non può essere usato con altre funzioni, ad esempio DuplicateHandle.
L'avanzamento del puntatore di enumerazione su un'enumerazione non ha alcun effetto sulle enumerazioni avviate in modo indipendente.
Requisiti
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | rpcasync.h (include Rpc.h) |
Libreria | Rpcrt4.lib |
DLL | Rpcrt4.dll |