次の方法で共有


SecMakeSPN 関数 (ntifs.h)

SecMakeSPN は、特定のセキュリティ サービス プロバイダーと通信するときに使用できるサービス プロバイダー名の文字列を作成します。

構文

KSECDDDECLSPEC NTSTATUS SecMakeSPN(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in, optional]  IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             Length,
  [in]            IN BOOLEAN             Allocate
);

パラメーター

[in] ServiceClass

セキュリティ サービス プロバイダーのサービス クラスを指定する Unicode 文字列へのポインター。

[in] ServiceName

セキュリティ サービス プロバイダーのサービス名を指定する Unicode 文字列へのポインター。

[in, optional] InstanceName

セキュリティ サービス プロバイダーに接続するためのインスタンス名を指定するオプションの Unicode 文字列へのポインター。

[in, optional] InstancePort

サービスのインスタンスのポート番号。 既定のポートには 0 を使用します。 このパラメーターが 0 の場合、SPN にはポート番号は含まれません。

[in, optional] Referrer

IP アドレス紹介を提供したホストの DNS 名を指定する、null で終わる定数文字列へのポインター。 ServiceName パラメーターで IP アドレスが指定されていない限り、このパラメーターは無視されます。

[in, out] Spn

この関数によって作成されたセキュリティ サービス プロバイダー名の文字列を格納するための Unicode 文字列へのポインター。

[out, optional] Length

作成された SPN の実際の長さを受け取る ULONG へのポインター (終端の null 文字を含む)。

[in] Allocate

Spn Unicode 文字列を格納するためのメモリをこの関数で割り当てる必要があるかどうかを示すブール変数。 このパラメーターが true の場合、Spn のメモリはページ プールから割り当てられます。

戻り値

SecMakeSPN は、成功した場合にSTATUS_SUCCESSを返すか、失敗した場合は次のいずれかのエラー コードを返します。

リターン コード 形容
STATUS_BUFFER_OVERFLOW Allocate パラメーターが false に設定され、次のいずれかの条件が発生しました: (1) Spn パラメーターが NULL ポインターでした。 (2) Spn Unicode 文字列パラメーターの最大長が小さすぎます。
STATUS_INVALID_PARAMETER Spn パラメーターの合計長が 65535 バイトを超えています。
STATUS_NO_MEMORY Allocate パラメーターは true に設定されましたが、メモリ割り当て要求は失敗しました。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h、FltKernel.h を含む)
ライブラリ Ksecdd.lib
IRQL <= APC_LEVEL

関連項目

SecMakeSPNEx

SecMakeSPNEx2