Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following code example composes an SPN for a service that uses a service connection point (SCP). The returned SPN has the following format.
<service class>/<host>/<service name>
"<service class>" and "<service name>" correspond to the pszDNofSCP and pszServiceClass parameters. "<host>" defaults to the DNS name of the local computer.
DWORD
SpnCompose(
TCHAR ***pspn, // Output: an array of SPNs
unsigned long *pulSpn, // Output: the number of SPNs returned
TCHAR *pszDNofSCP, // Input: DN of the service's SCP
TCHAR* pszServiceClass) // Input: the name of the service class
{
DWORD dwStatus;
dwStatus = DsGetSpn(
DS_SPN_SERVICE, // Type of SPN to create (enumerated type)
pszServiceClass, // Service class - a name in this case
pszDNofSCP, // Service name - DN of the service SCP
0, // Default: omit port component of SPN
0, // Number of entries in hostnames and ports arrays
NULL, // Array of hostnames. Default is local computer
NULL, // Array of ports. Default omits port component
pulSpn, // Receives number of SPNs returned in array
pspn // Receives array of SPN(s)
);
return dwStatus;
}