Поделиться через


Функция RpcErrorStartEnumeration (rpcasync.h)

Функция RpcErrorStartEnumeration начинает перечисление расширенных сведений об ошибке.

Синтаксис

RPC_STATUS RpcErrorStartEnumeration(
  RPC_ERROR_ENUM_HANDLE *EnumHandle
);

Параметры

EnumHandle

Указатель на дескриптор перечисления в виде структуры RPC_ERROR_ENUM_HANDLE . Структура должна быть выделена вызывающим объектом и не может быть освобождена до завершения операции. Все члены игнорируются при входных данных.

Возвращаемое значение

Успешное завершение возвращает RPC_S_OK.

Возвращает RPC_S_ENTRY_NOT_FOUND, если в потоке нет расширенных сведений об ошибке. Если выполняется перечисление, начиная с начала начинается второе перечисление.

Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Вызов функции RpcErrorStartEnumeration следует выполнить сразу после вызова, который вернул ошибку. В противном случае расширенные сведения об ошибке могут быть перезаписаны последующими вызовами. Дескрипторы перечисления должны быть освобождены с помощью функции RpcErrorEndEnumeration.

После вызова RpcErrorStartEnumeration можно безопасно использовать дескриптор перечисления из другого потока. Функция RpcErrorStartEnumeration принимает snapshot расширенных сведений об ошибке, а возвращающийся дескриптор перечисления работает с snapshot. Однако функции перечисления не синхронизируются между потоками с помощью RPC, поэтому за это отвечает вызывающий объект. Последующие вызовы RpcErrorStartEnumeration начинают новое перечисление и не создают второе перечисление для той же расширенной информации об ошибке.

Функция RpcErrorStartEnumeration может завершиться ошибкой, если недостаточно памяти для начала перечисления. Дескриптор перечисления может передаваться только в функции RpcError* и не может использоваться с другими функциями, такими как DuplicateHandle.

Переход указателя перечисления на одно перечисление не влияет на независимо запущенные перечисления.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header rpcasync.h (включая Rpc.h)
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll

См. также раздел

Получение сведений об ошибке расширенного RPC

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorAddRecord

RpcErrorClearInformation

RpcErrorEndEnumeration

RpcErrorGetNextRecord

RpcErrorGetNumberOfRecords

RpcErrorLoadErrorInfo

RpcErrorResetEnumeration

RpcErrorSaveErrorInfo