Msv1_0SubAuthenticationRoutineEx関数 (subauth.h)

LogonUser 関数を呼び出してサブ認証が要求されたときに、リモート アクセス サービス認証を実行します。

セキュリティ アカウント マネージャー (SAM) データベースからのセキュリティ プリンシパルの資格情報と情報は、認証のためにこの関数に渡されます。

この関数は、MSV1_0認証パッケージで使用するカスタムサブ認証パッケージ DLL によって実装されます。

この関数は、非 対話型認証に対してのみ呼び出されます。これは、アカウントが存在する認証サーバー上でのみ呼び出され、レジストリ内の正しいキーの下にサブ認証 DLL が登録されている場合にのみ呼び出されます。

構文

NTSTATUS Msv1_0SubAuthenticationRoutineEx(
  [in]      NETLOGON_LOGON_INFO_CLASS LogonLevel,
  [in]      PVOID                     LogonInformation,
  [in]      ULONG                     Flags,
  [in]      PUSER_ALL_INFORMATION     UserAll,
  [in]      SAM_HANDLE                UserHandle,
  [in, out] PMSV1_0_VALIDATION_INFO   ValidationInfo,
  [out]     PULONG                    ActionsPerformed
);

パラメーター

[in] LogonLevel

LogonInformation パラメーターで指定された情報のレベルを指定します。 通常、このパラメーターは NetlogonInteractiveInformation に設定されます。

[in] LogonInformation

NETLOGON_LOGON_IDENTITY_INFO構造体へのポインター。 この構造体のメンバーには、ログオンしているユーザーに関する情報が含まれています。 この構造体の LogonDomainName メンバーは無視されます。

[in] Flags

省略可能。 ログオンの状況を説明するフラグが含まれています。 このパラメーターには、次の値のいずれかを指定できます。

意味
MSV1_0_PASSTHRU
パススルー認証。 ユーザーがこのコンピューターに接続していません。
MSV1_0_GUEST_LOGON
これは、GUEST ユーザー アカウントを使用したログオンの再試行です。

[in] UserAll

SAM データベースから返されたユーザーの説明を含む USER_ALL_INFORMATION 構造体へのポインター。

[in] UserHandle

ユーザー アカウントのハンドル。

[in, out] ValidationInfo

MSV1_0_VALIDATION_INFO構造体へのポインター。

[out] ActionsPerformed

実行されたアクションの一覧。

戻り値

この関数は、次のいずれかの値を返す必要があります。

リターン コード 説明
STATUS_SUCCESS
エラーはありませんでした。
STATUS_ACCOUNT_DISABLED
アカウントが無効である。
STATUS_ACCOUNT_EXPIRED
アカウントの有効期限が切れています。
STATUS_ACCOUNT_LOCKED_OUT
アカウントはロックアウトされています。
STATUS_INVALID_INFO_CLASS
LogonLevel が無効です。
STATUS_INVALID_WORKSTATION
ユーザーは、指定されたワークステーションにログオンする権限がありません。
STATUS_NO_SUCH_USER
指定したユーザーにアカウントがありません。
STATUS_PASSWORD_EXPIRED
パスワードの有効期限が切れています。
STATUS_PASSWORD_MUST_CHANGE
アカウントは、次回ログオン時にパスワードを変更する必要があることを示すマークが付けられます。
STATUS_WRONG_PASSWORD
パスワードが無効です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー subauth.h