Получение асинхронного ответа
После получения уведомления о том, что сервер отправил ответ, клиент вызывает RpcAsyncCompleteCall с асинхронным дескриптором, чтобы получить ответ. После успешного завершения RpcAsyncCompleteCall параметр Reply указывает на буфер, содержащий возвращаемое значение удаленной функции. Все буферы, предоставляемые клиентской программой в виде параметров [out] или [in, out] для асинхронной удаленной функции, содержат допустимые данные. Если клиент вызывает RpcAsyncCompleteCall до отправки ответа сервером, этот вызов завершится ошибкой и вернет значение RPC_S_ASYNC_CALL_PENDING.
Если клиентская программа использует порты завершения ввода-вывода или события для уведомления, она должна вызвать CloseHandle , чтобы освободить порт или обработать, когда они больше не нужны.