Christopher Tarquini Christopher Tarquini -4 years ago 93
C++ Question

Why does Windows not allow WinSock to be started while impersonating another user

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

Answer Source

You have to have the Act As Operating Priv

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download