| Argument | Type | Description |
| pProxy | void* | This parameter indicates the proxy to set. |
| AuthnSvc | DWORD | This parameter indicates the authentication service. It may be RPC_C_AUTHN_NONE if no authentication is required. It may be RPC_C_AUTHN_DONT_CHANGE if you do not want to change the current value. |
| ServerPrincName | WCHAR* | This parameter indicates the server principal name. It may be NULL if you don't want to change the current value. |
| pAuthInfo | RPC_AUTH_IDENTITY _HANDLE* | This parameter sets the identity of the client. It is authentication-service specific. Some authentication services allow the application to pass in a different user name and password. COM keeps a pointer to the memory passed in until COM is uninitialized or a new value is set. If NULL is specified COM uses the current identity (whether the logged in or impersonated ID). |
| AuthnLevel | DWORD | This parameter specifies the authentication level. It may be RPC_C_AUTHN_LEVEL_DONT_CHANGE if you do not want to change the current value. |
| AuthzSvc | DWORD | This parameter specifies the authorization level. It may be RPC_C_AUTHZ_DONT_CHANGE if you do not want to change the current value. |
| Returns | S_OK | Success. |
| E_INVALIDARG | One or more arguments is invalid. |