none
WinHTTP в асинхронном режиме и APC RRS feed

  • Вопрос

  • Всем привет.

    Подскажите, если кто знает, можно ли выполнять вызовы функций библиотеки winhttp, используемой в АСИНХРОННОМ

    режиме( WINHTTP_FLAG_ASYNC установлен при вызове WinHttpOpen(...))

    изнутри Asynchronous Procedure Calls callback-ов? На случай СИНХРОННОГО режима у Microsoft есть категорический ответ на странице   https://docs.microsoft.com/en-us/windows/win32/winhttp/winhttp-security-considerations

    WinHTTP is not reentrant in synchronous mode. Because WinHTTP is not reentrant in synchronous mode, do not schedule asynchronous procedure calls (APC) that can call into WinHTTP on an application thread that executes inside a WinHTTP function. While in synchronous mode, WinHTTP performs an "alertable wait," and if the waiting thread is pre-empted to execute an APC and then later re-enters WinHTTP again, WinHTTP's internal state can be corrupted.

    А как насчет асинхронного режима? Можно ли быть уверенным, что в асинхронном режиме функции библиотеки WinHttp вообще никогда не выполняют "alertable wait" внутри себя???

    Заранее спасибо.


    20 сентября 2019 г. 4:01