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 に設定されましたが、メモリ割り当て要求が失敗しました。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h、FltKernel.h を含む)
Library Ksecdd.lib
IRQL <= APC_LEVEL

こちらもご覧ください

SecMakeSPNEx

SecMakeSPNEx2