Share via


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.

Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

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.
Otros campos de ErrorInfo se omiten en la entrada.

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

Consulte también

Obtención de información de error de RPC extendida

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorEndEnumeration

RpcErrorStartEnumeration