ログオンセッション単位の保存クレデンシャルの保存期間は、CREDENTIAL構造体のPersistの値によって決定することになっています。システムを再起動しても依然として利用可能です。ユーザーがログオフした場合はクレデンシャルが削除されます。クレデンシャルが永続的に保存されることを望まない場合は、このCRED_PERSIST_SESSIONを指定することになります。Persistの値がCRED_PERSIST_ENTERPRISE固定になります。CREDENTIAL構造体を受け取るCredWriteを呼び出せば、クレデンシャルの情報を自由に決定することができます。Flags);Credentialは、CREDENTIAL構造体のアドレスを指定します。Flagsは、通常は0で問題ありません。ターゲット名からクレデンシャルを取得するには、CredReadを呼び出します。*Credential);TargetNameは、取得するクレデンシャルのターゲット名を指定します。Typeは、CRED_TYPE_GENERICなどのタイプを指定します。Flagsは、予約されているため0を指定します。Credentialは、クレデンシャルを受け取る変数のアドレスを指定します。チェックボックスにチェックが付けられた場合は、CredWriteでクレデンシャルを保存します。クレデンシャルが存在する場合は、それをダイアログの既定値として表示します。TEXT("ログオンに失敗しました。第1引数のターゲット名で識別されるクレデンシャルが取得されます。そのクレデンシャルのユーザー名とパスワードが第3引数と第4引数に返ります。pInBufferにダイアログの既定値が格納されるようにします。パスワードが既定で表示されることはないようです。チェックが付けられたかどうかは第8引数から確認することができます。第8引数にTRUEが格納されている場合にアプリケーションが保存処理を行うことになります。LogonUserが成功した場合のみとします。第2引数のユーザー名と第3引数のパスワードがそれに含まれます。クレデンシャルの保存は現在のユーザーがログオフするまで有効です。