MSV1_0_PROTOCOL_MESSAGE_TYPE
列挙型メンバー 25
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| MsV1_0Lm20ChallengeRequest | 0 | 0x0 | このディスパッチルーチンは、NTLM バージョン 2.0 プロトコルによるログオンの前半部分を担います。この呼び出しによって返されるチャレンジは、要求元の NTLM 2.0 ノードに配信できます。そのノードがチャレンジ応答を返した時点で、 LsaLogonUser 関数への MsV1_0Lm20Logon メッセージを使用してログオンを完了します。詳細については、 MSV1_0_LOGON_SUBMIT_TYPE を参照してください。 |
| MsV1_0Lm20GetChallengeResponse | 1 | 0x1 | このディスパッチルーチンは、NTLM リダイレクターがサーバーへの接続を確立しようとする際に、そのサーバーへ渡すチャレンジ応答を決定するために使用されます。 このルーチンには、サーバーからのチャレンジが渡されます。ルーチンは、指定されたパスワード、または指定されたログオン識別子によって暗黙的に決まるパスワードのいずれかを使用して、そのチャレンジを暗号化します。チャレンジ応答は 2 つ返されます。1 つは、認証パッケージに渡された Unicode パスワードに基づくものです。もう 1 つは、そのパスワードをマルチバイト文字セット (ASCII など) に変換して大文字にしたものに基づきます。リダイレクターは、必要に応じていずれか一方、または両方の形式のチャレンジ応答を使用してください。リダイレクターは、返されたチャレンジ応答をそのままの形で使用しなければなりません。0 バイトを追加してはなりません。チャレンジ応答はバイナリデータであり、文字列内に 0 バイトが含まれることがあります。 このルーチンは、NULL セッションを使用することを示す場合があります。リダイレクターが RETURN_PRIMARY_DOMAINNAME、RETURN_PRIMARY_USERNAME、USE_PRIMARY_PASSWORD のすべてのフラグを指定し、かつログオン ID がどの対話型ログオンセッションにも対応しない場合、この関数はユーザー名と両方のチャレンジ応答として空の文字列を返します。 |
| MsV1_0EnumerateUsers | 2 | 0x2 | この値は非推奨です (使用されません)。 |
| MsV1_0GetUserInfo | 3 | 0x3 | この値は非推奨です (使用されません)。 |
| MsV1_0ReLogonUsers | 4 | 0x4 | この値はサポートされていません。 |
| MsV1_0ChangePassword | 5 | 0x5 | このディスパッチルーチンは、アカウントのパスワードを変更します。 |
| MsV1_0ChangeCachedPassword | 6 | 0x6 | このディスパッチルーチンは、ログオンキャッシュ内のパスワードを変更します。これは、他の何らかの手段でドメインコントローラー上のパスワードが変更され、ローカルにキャッシュされたバージョンを新しい値に合わせて更新する必要がある場合に使用します。たとえば、RAS はドメイン上のパスワード変更を処理しますが、その後もユーザーがサーバーにアクセスできるように、キャッシュされたコピーを更新する必要があります。 |
| MsV1_0GenericPassthrough | 7 | 0x7 | このディスパッチルーチンは、他のいずれかのディスパッチルーチンをドメインコントローラーに引き渡します。ドメインコントローラー上の認証パッケージは、特定のディスパッチ要求を拒否することがあります。 |
| MsV1_0CacheLogon | 8 | 0x8 | このディスパッチルーチンは、ログオン情報をログオンキャッシュにキャッシュします。 |
| MsV1_0SubAuth | 9 | 0x9 | このディスパッチルーチンは、サブ認証パッケージにバッファーを送信するために呼び出されます。サブ認証がローカルで行われる場合は、このディスパッチルーチンを使用します。サブ認証をドメインコントローラー上で処理する必要がある場合は、 MSV1_0_SUBAUTH_REQUEST および MSV1_0_SUBAUTH_RESPONSE バッファーを指定して MsV1_0GenericPassthrough ディスパッチルーチンを使用します。 |
| MsV1_0DeriveCredential | 10 | 0xA | このディスパッチルーチンは、現在のログオンセッションの一方向関数パスワードの HMAC_SHA1 ハッシュを取得します。 |
| MsV1_0CacheLookup | 11 | 0xB | 予約済みです。使用しないでください。 |
| MsV1_0SetProcessOption | 12 | 0xC | このディスパッチルーチンは、パスワードポリシーを設定します。SeTcbPrivilege が必要です。 |
| MsV1_0ConfigLocalAliases | 13 | 0xD | このディスパッチルーチンは、登録されたローカルエイリアスの追加、削除、または列挙を行います。このメッセージ型を使用するには、呼び出し元がサービスでなければなりません。 Windows Server 2003 および Windows XP: サポートされていません。 |
| MsV1_0ClearCachedCredentials | 14 | 0xE | このディスパッチルーチンは、ローカルの NTLM ログオンキャッシュ内の資格情報をクリアします。SeTcbPrivilege が必要です。 Windows Server 2003 および Windows XP: サポートされていません。 |
| MsV1_0LookupToken | 15 | 0xF | このディスパッチルーチンは、認証トークンを検索します。SeTcbPrivilege が必要です。 Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。 |
| MsV1_0ValidateAuth | 16 | 0x10 | このディスパッチルーチンは、ログオン認証を検証します。SeTcbPrivilege が必要です。 Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。 |
| MsV1_0CacheLookupEx | 17 | 0x11 | このディスパッチルーチンは、キャッシュ内のローカルログオンを検索します。SeTcbPrivilege が必要です。 Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。 |
| MsV1_0GetCredentialKey | 18 | 0x12 | このディスパッチルーチンは、認証パケットの資格情報キーを取得します。SeTcbPrivilege が必要です。 Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。 |
| MsV1_0SetThreadOption | 19 | 0x13 | このディスパッチルーチンは、呼び出し元スレッドの機能と権限を設定します。スレッドオプションはプロセスオプションより優先されるため、NTLM のプロセスオプションの代わりに使用してください。SeTcbPrivilege が必要です。 Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。 |
| MsV1_0DecryptDpapiMasterKey | 20 | 0x14 | |
| MsV1_0GetStrongCredentialKey | 21 | 0x15 | |
| MsV1_0TransferCred | 22 | 0x16 | |
| MsV1_0ProvisionTbal | 23 | 0x17 | |
| MsV1_0DeleteTbalSecrets | 24 | 0x18 |
公式ドキュメント
MSV1_0_PROTOCOL_MESSAGE_TYPE 列挙型は、 MSV1_0 認証パッケージ に対して LsaCallAuthenticationPackage 関数を呼び出すことで送信できるメッセージの種類を列挙します。
各メッセージはディスパッチルーチンに対応しており、MSV1_0 認証パッケージにそれぞれ異なる処理を実行させます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum MSV1_0_PROTOCOL_MESSAGE_TYPE : int {
MsV1_0Lm20ChallengeRequest = 0,
MsV1_0Lm20GetChallengeResponse = 1,
MsV1_0EnumerateUsers = 2,
MsV1_0GetUserInfo = 3,
MsV1_0ReLogonUsers = 4,
MsV1_0ChangePassword = 5,
MsV1_0ChangeCachedPassword = 6,
MsV1_0GenericPassthrough = 7,
MsV1_0CacheLogon = 8,
MsV1_0SubAuth = 9,
MsV1_0DeriveCredential = 10,
MsV1_0CacheLookup = 11,
MsV1_0SetProcessOption = 12,
MsV1_0ConfigLocalAliases = 13,
MsV1_0ClearCachedCredentials = 14,
MsV1_0LookupToken = 15,
MsV1_0ValidateAuth = 16,
MsV1_0CacheLookupEx = 17,
MsV1_0GetCredentialKey = 18,
MsV1_0SetThreadOption = 19,
MsV1_0DecryptDpapiMasterKey = 20,
MsV1_0GetStrongCredentialKey = 21,
MsV1_0TransferCred = 22,
MsV1_0ProvisionTbal = 23,
MsV1_0DeleteTbalSecrets = 24
} MSV1_0_PROTOCOL_MESSAGE_TYPE;public enum MSV1_0_PROTOCOL_MESSAGE_TYPE : int
{
MsV1_0Lm20ChallengeRequest = 0,
MsV1_0Lm20GetChallengeResponse = 1,
MsV1_0EnumerateUsers = 2,
MsV1_0GetUserInfo = 3,
MsV1_0ReLogonUsers = 4,
MsV1_0ChangePassword = 5,
MsV1_0ChangeCachedPassword = 6,
MsV1_0GenericPassthrough = 7,
MsV1_0CacheLogon = 8,
MsV1_0SubAuth = 9,
MsV1_0DeriveCredential = 10,
MsV1_0CacheLookup = 11,
MsV1_0SetProcessOption = 12,
MsV1_0ConfigLocalAliases = 13,
MsV1_0ClearCachedCredentials = 14,
MsV1_0LookupToken = 15,
MsV1_0ValidateAuth = 16,
MsV1_0CacheLookupEx = 17,
MsV1_0GetCredentialKey = 18,
MsV1_0SetThreadOption = 19,
MsV1_0DecryptDpapiMasterKey = 20,
MsV1_0GetStrongCredentialKey = 21,
MsV1_0TransferCred = 22,
MsV1_0ProvisionTbal = 23,
MsV1_0DeleteTbalSecrets = 24,
}Public Enum MSV1_0_PROTOCOL_MESSAGE_TYPE As Integer
MsV1_0Lm20ChallengeRequest = 0
MsV1_0Lm20GetChallengeResponse = 1
MsV1_0EnumerateUsers = 2
MsV1_0GetUserInfo = 3
MsV1_0ReLogonUsers = 4
MsV1_0ChangePassword = 5
MsV1_0ChangeCachedPassword = 6
MsV1_0GenericPassthrough = 7
MsV1_0CacheLogon = 8
MsV1_0SubAuth = 9
MsV1_0DeriveCredential = 10
MsV1_0CacheLookup = 11
MsV1_0SetProcessOption = 12
MsV1_0ConfigLocalAliases = 13
MsV1_0ClearCachedCredentials = 14
MsV1_0LookupToken = 15
MsV1_0ValidateAuth = 16
MsV1_0CacheLookupEx = 17
MsV1_0GetCredentialKey = 18
MsV1_0SetThreadOption = 19
MsV1_0DecryptDpapiMasterKey = 20
MsV1_0GetStrongCredentialKey = 21
MsV1_0TransferCred = 22
MsV1_0ProvisionTbal = 23
MsV1_0DeleteTbalSecrets = 24
End Enumimport enum
class MSV1_0_PROTOCOL_MESSAGE_TYPE(enum.IntEnum):
MsV1_0Lm20ChallengeRequest = 0
MsV1_0Lm20GetChallengeResponse = 1
MsV1_0EnumerateUsers = 2
MsV1_0GetUserInfo = 3
MsV1_0ReLogonUsers = 4
MsV1_0ChangePassword = 5
MsV1_0ChangeCachedPassword = 6
MsV1_0GenericPassthrough = 7
MsV1_0CacheLogon = 8
MsV1_0SubAuth = 9
MsV1_0DeriveCredential = 10
MsV1_0CacheLookup = 11
MsV1_0SetProcessOption = 12
MsV1_0ConfigLocalAliases = 13
MsV1_0ClearCachedCredentials = 14
MsV1_0LookupToken = 15
MsV1_0ValidateAuth = 16
MsV1_0CacheLookupEx = 17
MsV1_0GetCredentialKey = 18
MsV1_0SetThreadOption = 19
MsV1_0DecryptDpapiMasterKey = 20
MsV1_0GetStrongCredentialKey = 21
MsV1_0TransferCred = 22
MsV1_0ProvisionTbal = 23
MsV1_0DeleteTbalSecrets = 24// MSV1_0_PROTOCOL_MESSAGE_TYPE
pub const MsV1_0Lm20ChallengeRequest: i32 = 0;
pub const MsV1_0Lm20GetChallengeResponse: i32 = 1;
pub const MsV1_0EnumerateUsers: i32 = 2;
pub const MsV1_0GetUserInfo: i32 = 3;
pub const MsV1_0ReLogonUsers: i32 = 4;
pub const MsV1_0ChangePassword: i32 = 5;
pub const MsV1_0ChangeCachedPassword: i32 = 6;
pub const MsV1_0GenericPassthrough: i32 = 7;
pub const MsV1_0CacheLogon: i32 = 8;
pub const MsV1_0SubAuth: i32 = 9;
pub const MsV1_0DeriveCredential: i32 = 10;
pub const MsV1_0CacheLookup: i32 = 11;
pub const MsV1_0SetProcessOption: i32 = 12;
pub const MsV1_0ConfigLocalAliases: i32 = 13;
pub const MsV1_0ClearCachedCredentials: i32 = 14;
pub const MsV1_0LookupToken: i32 = 15;
pub const MsV1_0ValidateAuth: i32 = 16;
pub const MsV1_0CacheLookupEx: i32 = 17;
pub const MsV1_0GetCredentialKey: i32 = 18;
pub const MsV1_0SetThreadOption: i32 = 19;
pub const MsV1_0DecryptDpapiMasterKey: i32 = 20;
pub const MsV1_0GetStrongCredentialKey: i32 = 21;
pub const MsV1_0TransferCred: i32 = 22;
pub const MsV1_0ProvisionTbal: i32 = 23;
pub const MsV1_0DeleteTbalSecrets: i32 = 24;// MSV1_0_PROTOCOL_MESSAGE_TYPE
const (
MsV1_0Lm20ChallengeRequest int32 = 0
MsV1_0Lm20GetChallengeResponse int32 = 1
MsV1_0EnumerateUsers int32 = 2
MsV1_0GetUserInfo int32 = 3
MsV1_0ReLogonUsers int32 = 4
MsV1_0ChangePassword int32 = 5
MsV1_0ChangeCachedPassword int32 = 6
MsV1_0GenericPassthrough int32 = 7
MsV1_0CacheLogon int32 = 8
MsV1_0SubAuth int32 = 9
MsV1_0DeriveCredential int32 = 10
MsV1_0CacheLookup int32 = 11
MsV1_0SetProcessOption int32 = 12
MsV1_0ConfigLocalAliases int32 = 13
MsV1_0ClearCachedCredentials int32 = 14
MsV1_0LookupToken int32 = 15
MsV1_0ValidateAuth int32 = 16
MsV1_0CacheLookupEx int32 = 17
MsV1_0GetCredentialKey int32 = 18
MsV1_0SetThreadOption int32 = 19
MsV1_0DecryptDpapiMasterKey int32 = 20
MsV1_0GetStrongCredentialKey int32 = 21
MsV1_0TransferCred int32 = 22
MsV1_0ProvisionTbal int32 = 23
MsV1_0DeleteTbalSecrets int32 = 24
)const
MsV1_0Lm20ChallengeRequest = 0;
MsV1_0Lm20GetChallengeResponse = 1;
MsV1_0EnumerateUsers = 2;
MsV1_0GetUserInfo = 3;
MsV1_0ReLogonUsers = 4;
MsV1_0ChangePassword = 5;
MsV1_0ChangeCachedPassword = 6;
MsV1_0GenericPassthrough = 7;
MsV1_0CacheLogon = 8;
MsV1_0SubAuth = 9;
MsV1_0DeriveCredential = 10;
MsV1_0CacheLookup = 11;
MsV1_0SetProcessOption = 12;
MsV1_0ConfigLocalAliases = 13;
MsV1_0ClearCachedCredentials = 14;
MsV1_0LookupToken = 15;
MsV1_0ValidateAuth = 16;
MsV1_0CacheLookupEx = 17;
MsV1_0GetCredentialKey = 18;
MsV1_0SetThreadOption = 19;
MsV1_0DecryptDpapiMasterKey = 20;
MsV1_0GetStrongCredentialKey = 21;
MsV1_0TransferCred = 22;
MsV1_0ProvisionTbal = 23;
MsV1_0DeleteTbalSecrets = 24;// MSV1_0_PROTOCOL_MESSAGE_TYPE
pub const MsV1_0Lm20ChallengeRequest: i32 = 0;
pub const MsV1_0Lm20GetChallengeResponse: i32 = 1;
pub const MsV1_0EnumerateUsers: i32 = 2;
pub const MsV1_0GetUserInfo: i32 = 3;
pub const MsV1_0ReLogonUsers: i32 = 4;
pub const MsV1_0ChangePassword: i32 = 5;
pub const MsV1_0ChangeCachedPassword: i32 = 6;
pub const MsV1_0GenericPassthrough: i32 = 7;
pub const MsV1_0CacheLogon: i32 = 8;
pub const MsV1_0SubAuth: i32 = 9;
pub const MsV1_0DeriveCredential: i32 = 10;
pub const MsV1_0CacheLookup: i32 = 11;
pub const MsV1_0SetProcessOption: i32 = 12;
pub const MsV1_0ConfigLocalAliases: i32 = 13;
pub const MsV1_0ClearCachedCredentials: i32 = 14;
pub const MsV1_0LookupToken: i32 = 15;
pub const MsV1_0ValidateAuth: i32 = 16;
pub const MsV1_0CacheLookupEx: i32 = 17;
pub const MsV1_0GetCredentialKey: i32 = 18;
pub const MsV1_0SetThreadOption: i32 = 19;
pub const MsV1_0DecryptDpapiMasterKey: i32 = 20;
pub const MsV1_0GetStrongCredentialKey: i32 = 21;
pub const MsV1_0TransferCred: i32 = 22;
pub const MsV1_0ProvisionTbal: i32 = 23;
pub const MsV1_0DeleteTbalSecrets: i32 = 24;const
MsV1_0Lm20ChallengeRequest* = 0
MsV1_0Lm20GetChallengeResponse* = 1
MsV1_0EnumerateUsers* = 2
MsV1_0GetUserInfo* = 3
MsV1_0ReLogonUsers* = 4
MsV1_0ChangePassword* = 5
MsV1_0ChangeCachedPassword* = 6
MsV1_0GenericPassthrough* = 7
MsV1_0CacheLogon* = 8
MsV1_0SubAuth* = 9
MsV1_0DeriveCredential* = 10
MsV1_0CacheLookup* = 11
MsV1_0SetProcessOption* = 12
MsV1_0ConfigLocalAliases* = 13
MsV1_0ClearCachedCredentials* = 14
MsV1_0LookupToken* = 15
MsV1_0ValidateAuth* = 16
MsV1_0CacheLookupEx* = 17
MsV1_0GetCredentialKey* = 18
MsV1_0SetThreadOption* = 19
MsV1_0DecryptDpapiMasterKey* = 20
MsV1_0GetStrongCredentialKey* = 21
MsV1_0TransferCred* = 22
MsV1_0ProvisionTbal* = 23
MsV1_0DeleteTbalSecrets* = 24enum MSV1_0_PROTOCOL_MESSAGE_TYPE : int {
MsV1_0Lm20ChallengeRequest = 0,
MsV1_0Lm20GetChallengeResponse = 1,
MsV1_0EnumerateUsers = 2,
MsV1_0GetUserInfo = 3,
MsV1_0ReLogonUsers = 4,
MsV1_0ChangePassword = 5,
MsV1_0ChangeCachedPassword = 6,
MsV1_0GenericPassthrough = 7,
MsV1_0CacheLogon = 8,
MsV1_0SubAuth = 9,
MsV1_0DeriveCredential = 10,
MsV1_0CacheLookup = 11,
MsV1_0SetProcessOption = 12,
MsV1_0ConfigLocalAliases = 13,
MsV1_0ClearCachedCredentials = 14,
MsV1_0LookupToken = 15,
MsV1_0ValidateAuth = 16,
MsV1_0CacheLookupEx = 17,
MsV1_0GetCredentialKey = 18,
MsV1_0SetThreadOption = 19,
MsV1_0DecryptDpapiMasterKey = 20,
MsV1_0GetStrongCredentialKey = 21,
MsV1_0TransferCred = 22,
MsV1_0ProvisionTbal = 23,
MsV1_0DeleteTbalSecrets = 24,
}#define global MsV1_0Lm20ChallengeRequest 0x0
#define global MsV1_0Lm20GetChallengeResponse 0x1
#define global MsV1_0EnumerateUsers 0x2
#define global MsV1_0GetUserInfo 0x3
#define global MsV1_0ReLogonUsers 0x4
#define global MsV1_0ChangePassword 0x5
#define global MsV1_0ChangeCachedPassword 0x6
#define global MsV1_0GenericPassthrough 0x7
#define global MsV1_0CacheLogon 0x8
#define global MsV1_0SubAuth 0x9
#define global MsV1_0DeriveCredential 0xA
#define global MsV1_0CacheLookup 0xB
#define global MsV1_0SetProcessOption 0xC
#define global MsV1_0ConfigLocalAliases 0xD
#define global MsV1_0ClearCachedCredentials 0xE
#define global MsV1_0LookupToken 0xF
#define global MsV1_0ValidateAuth 0x10
#define global MsV1_0CacheLookupEx 0x11
#define global MsV1_0GetCredentialKey 0x12
#define global MsV1_0SetThreadOption 0x13
#define global MsV1_0DecryptDpapiMasterKey 0x14
#define global MsV1_0GetStrongCredentialKey 0x15
#define global MsV1_0TransferCred 0x16
#define global MsV1_0ProvisionTbal 0x17
#define global MsV1_0DeleteTbalSecrets 0x18