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

Клиент вызывает функцию RpcAsyncInitializeHandle для инициализации структуры RPC_ASYNC_STATE , используемой для асинхронного вызова.

Синтаксис

RPC_STATUS RpcAsyncInitializeHandle(
  PRPC_ASYNC_STATE pAsync,
  unsigned int     Size
);

Параметры

pAsync

Указатель на структуру RPC_ASYNC_STATE , которая содержит сведения об асинхронных вызовах.

Size

Размер структуры RPC_ASYNC_STATE .

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

Значение Значение
RPC_S_OK
Вызов выполнен успешно.
RPC_S_INVALID_ARG
Размер слишком мал или слишком велик.
RPC_S_INVALID_ASYNC_HANDLE
pAsync указывает на недопустимую память.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Клиент создает новую структуру RPC_ASYNC_STATE и указатель на нее и вызывает RpcAsyncInitializeHandle с указателем в качестве входного параметра. Функция RpcAsyncInitializeHandle инициализирует поля, которые она использует для поддержания состояния асинхронного удаленного вызова. Когда вызов RpcAsyncInitializeHandle возвращается успешно, клиент может задать тип уведомления и все поля, связанные с этим типом уведомления, в структуре RPC_ASYNC_STATE . Клиентское приложение использует указатель на эту структуру для выполнения асинхронного вызова.

Клиент не должен пытаться изменить элементы Size, Signature, Lock и StubInfoструктуры RPC_ASYNC_STATE . При этом дескриптор станет недействительным.

Примечание В Windows 2000 после завершения асинхронного вызова необходимо повторно инициализировать структуру RPC_ASYNC_STATE перед использованием для другого асинхронного вызова. В Windows XP и более поздних версиях структура RPC_ASYNC_STATE готова к немедленному повторному использованию после завершения асинхронного вызова.
 

Требования

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

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

Асинхронный RPC

RPC_ASYNC_STATE

RpcAsyncAbortCall

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcServerTestCancel