SCP を使用したサービスの SPN の作成
次のコード例では、サービス接続ポイント (SCP) を使用するサービスの SPN を作成します。 返される SPN の形式は次のとおりです。
<service class>/<host>/<service name>
"<service class>" と "<service name>" は、pszDNofSCP パラメーターと pszServiceClass パラメーターに対応します。 "<ホスト>" の既定値は、ローカル コンピューターの DNS 名です。
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;
}