Why does Windows not allow WinSock to be started while impersonating another user
c++, impersonation, windows, winsock, wsastartup
Solution
You have to have the Act As Operating Priv
Problem
Using my own program or others I can't get winsock to run when calling if the process is created with CreateProcessWithLogonW or CreateProcessAsUserW. It returns this error when I create the socket: ``` WSAEPROVIDERFAILEDINIT 10106 ``` Service provider failed to initialize. ``` The requested service provider could not be loaded or initialized. ``` This error is returned if either a service provider's DLL could not be loaded (LoadLibrary failed) or the provider's WSPStartup or NSPStartup function failed . However, `WSAStartup` seems to go w/o an error. Just creating the socket with WSASocket returns this. UPDATE: Errors: LoadUserProfile: Error Code 2. Can't find file specified AdjustTokenPrivs: Error Code 5. Access Denied