Directory Services |
The following code example composes an SPN for a service that uses a service connection point (SCP). The returned SPN has the following format.
ServiceClass/host/ServiceName
where ServiceClass and ServiceName correspond to the pszDNofSCP and pszServiceClass parameters. In this example, 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; }