# COSERVERINFO

Identifies a remote machine resource to the new or enhanced activation functions. The structure is defined as follows in the Wtypes.h header file:

    typedef struct  _COSERVERINFO
        {
        DWORD dwReserved1;
        LPWSTR pwszName;
        COAUTHINFO  *pAuthInfo;
        DWORD dwReserved2;
        }   COSERVERINFO;

Members

dwReserved1
  Reserved for future use. Must be 0.
pszName
  Pointer to the name of the machine to be used.
pAuthInfo
  When using NTLMSSP, this value must be set to zero. A non-zero value, which is a pointer to a COAUTHINFO structure, would only be used when a security package other than NTLMSSP is being used.
dwReserved2
  Reserved for future use. Must be 0.

Remarks

The COSERVERINFO structure is used primarily to identify a remote system in object creation functions. Machine resources are named using the naming scheme of the network transport. By default, all UNC (“\\server” or “server”) and DNS names (“server.com”, “www.foo.com”, or “135.5.33.19”) names are allowed.

If you are using the NTLMSSP security package, the default case, the pAuthinfo parameter should be set to zero. If you are a vendor supporting another security package, refer to COAUTHINFO. The mechanism described there is intended to allow DCOM activations to work correctly with security providers other than NTLMSSP, or to specify additional security information used during remote activations for interoperability with alternate implementations of DCOM. If pAuthInfo is set, those values will be used to specify the authentication settings for the remote call. These settings will be passed to RpcBindingSetAuthInfoEx.

If the pAuthInfo field is not specified, any values in the AppID section of the registry will be used to override the following default authentication settings:

dwAuthnSvc | RPC_C_AUTHN_WINNT
dwAuthzSvc | RPC_C_AUTHZ_NONE
pszServerPrincName | NULL
dwAuthnLevel | RPC_C_AUTHN_LEVEL_CONNECT
dwImpersonationLevel | RPC_C_IMP_LEVEL_IMPERSONATE
pvAuthIdentityData | NULL
dwCapabilities | RPC_C_QOS_CAPABILITIES_DEFAULT

See Also

CLSCTX, CoGetClassObject, CoGetInstanceFromFile, CoGetInstanceFromIStorage, CoCreateInstanceEx, Locating a Remote Object