Función RpcErrorGetNextRecord (rpcasync.h)
La función RpcErrorGetNextRecord recupera el siguiente registro de información de error extendido para un identificador de enumeración.
Sintaxis
RPC_STATUS RpcErrorGetNextRecord(
[in] RPC_ERROR_ENUM_HANDLE *EnumHandle,
[in] BOOL CopyStrings,
[out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);
Parámetros
[in] EnumHandle
Puntero al identificador de enumeración, en forma de una estructura de RPC_ERROR_ENUM_HANDLE . El autor de la llamada debe asignar la estructura y no se puede liberar hasta que se complete la operación. Todos los miembros se omiten en la entrada.
[in] CopyStrings
Especifica si los campos de cadena de ErrorInfo se copian en el montón predeterminado del sistema, en cuyo punto se transfiere la propiedad de esos búferes al autor de la llamada.
TRUE indica que las cadenas se van a copiar en el montón del sistema.
FALSE indica las cadenas de ErrorInfo que apuntan a estructuras de datos RPC internas; el autor de la llamada no puede liberarlos ni escribirlos y se convierten en no válidos una vez que se llama a la función RpcErrorEndEnumeration .
[out] ErrorInfo
Puntero a una estructura de RPC_EXTENDED_ERROR_INFO . Vea la sección Comentarios.
Valor devuelto
Si CopyStrings es false, la llamada de función no puede producir un error a menos que sus parámetros no sean válidos. Cuando se recupera el último registro de error extendido, RpcErrorGetNextRecord devuelve RPC_S_OK. Las llamadas posteriores devuelven RPC_S_ENTRY_NOT_FOUND.
Tras cualquier error, la posición de enumeración no está avanzada.
Comentarios
Tras la entrada, los campos siguientes deben establecerse en ErrorInfo:
- La versión debe establecerse en RPC_EEINFO_VERSION.
- NumberOfParameters debe establecerse en un valor entre cero y MaxNumberOfEEInfoParams. Los autores de llamadas son libres de proporcionar espacio para cualquier número de parámetros. Si el número de parámetros proporcionados por el autor de la llamada es menor que el número de parámetros del registro de error extendido, se devuelve RPC_S_BUFFER_TOO_SMALL.
- Las marcas deben ser cero o se debe especificar EEInfoUseFileTime . Si Flags es cero, se usa el miembro SystemTime de la unión u. Si se especifica EEInfoUseFileTime , se usa el miembro FileTime de la unión u.
Tras la salida, los campos de ErrorInfo se rellenan de la siguiente manera:
- La versión no ha cambiado.
- ComputerName es NULL si no hay ningún nombre de equipo en el registro o una cadena Unicode si existe un nombre de equipo en el registro de información de error extendido. Si es NULL, se puede suponer el último registro con un nombre de equipo; sin embargo, es posible que el nombre del equipo se haya quitado por memoria insuficiente. ComputerName es un nombre DNS no calificado.
- ProcessID es el PID del proceso donde se originó el registro.
- SystemTime o FileTime es la hora en que se generó el registro, expresado en UCT, para el equipo en el que se generó el registro. FileTime o SystemTime es válido, en función de si se usa EEInfoUseFileTime.
- GeneratingComponent es el código del componente de generación.
- El estado es el código de estado del registro.
- DetectionLocation es el código de la ubicación de detección.
- Las marcas especifican si faltan registros. Si falta uno o varios registros después de que falte el registro actual, se establece EEInfoNextRecordsMissing . Si falta uno o varios registros antes de que falte el registro actual, se establece EEInfoPreviousRecordsMissing .
- NumberOfParameters especifica el número verdadero de parámetros. Si el autor de la llamada especificó espacio para más parámetros en la entrada que en el registro, este campo contiene el número de parámetros usados.
- Los parámetros son los parámetros reales, proporcionados como una matriz de estructuras de RPC_EE_INFO_PARAM con estructuras NumberOfParameters .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | rpcasync.h (include Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |