LsaRegisterLogonProcess 関数 (ntsecapi.h)
LsaRegisterLogonProcess 関数は、LSA サーバーへの接続を確立し、呼び出し元がログオン アプリケーションであることを確認します。
構文
NTSTATUS LsaRegisterLogonProcess(
[in] PLSA_STRING LogonProcessName,
[out] PHANDLE LsaHandle,
[out] PLSA_OPERATIONAL_MODE SecurityMode
);
パラメーター
[in] LogonProcessName
ログオン アプリケーションを識別する LSA_STRING 構造体へのポインター。 これは、管理者への表示に適した印刷可能な名前である必要があります。 たとえば、Windows ログオン アプリケーションでは"User32LogonProcess" という名前を使用できます。 この名前は、監査中に LSA によって使用されます。 LsaRegisterLogonProcess は、名前が既に使用されているかどうかをチェックしません。
この文字列は 127 バイトを超えてはなりません。
[out] LsaHandle
今後の認証関数呼び出しで使用されるハンドルを受け取るポインター。
[out] SecurityMode
返される値は意味を持たず、無視する必要があります。
戻り値
関数が成功した場合、戻り値はSTATUS_SUCCESS。
関数が失敗した場合、戻り値は NTSTATUS コードです。 考えられるエラー コードを次に示します。
リターン コード | 説明 |
---|---|
|
呼び出し元には SeTcbPrivilege 特権がありません。この特権は、この関数を呼び出すために必要です。
この特権は 、LsaAddAccountRights を呼び出すことで設定できます。 |
|
指定されたログオン プロセス名が 127 バイトを超えています。 |
詳細については、「 LSA ポリシー関数の戻り値」を参照してください。
LsaNtStatusToWinError 関数は、NTSTATUS コードを Windows エラー コードに変換します。
注釈
この関数は、ログオン プロセスが LSA によって提供される他のログオン認証機能を使用する前に呼び出す必要があります。
LsaRegisterLogonProcess 関数は、関数呼び出しを行うアプリケーションが、SeTcbPrivilege 特権セットを持っていることを確認することによってログオン プロセスであることを確認します。 また、今後の LSA 認証呼び出しを見越して、PROCESS_DUP_HANDLEアクセスのためのアプリケーションのプロセスも開きます。 詳細については、「 DuplicateHandle」を参照してください。
LSA サーバーへの接続の使用が完了したら、呼び出し元のログオン アプリケーション コンテキストを削除し、 LsaDeregisterLogonProcess 関数を呼び出して接続を閉じます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecapi.h |
Library | Secur32.lib |
[DLL] | Secur32.dll |