Асинхронный микс WinHTTP API и APC - PullRequest
0 голосов
/ 24 сентября 2019

Я выполняю асинхронные вызовы WinHttp API (флаг WINHTTP_FLAG_ASYNC установлен в WinHttpOpen (...)) внутри обратного вызова APC.

Боюсь, что вход WinHttp упоминается в https://docs.microsoft.com/en-us/windows/win32/winhttp/winhttp-security-considerations:

"WinHTTP не реентерабелен в синхронном режиме. Поскольку WinHTTP не реентерабелен в синхронном режиме, не планируйте асинхронные вызовы процедур (APC), которые могут вызывать WinHTTP в потоке приложения, который выполняется внутри функции WinHTTP. Находясь в синхронном режимеВ этом режиме WinHTTP выполняет «предупреждающее ожидание», и если ожидающему потоку в первую очередь разрешено выполнить APC, а затем снова снова входит в WinHTTP, внутреннее состояние WinHTTP может быть повреждено. "

Могу ли я быть уверенчто асинхронный WinHttp API никогда не выполняет внутреннее состояние ожидания с предупреждением?

...