Win32 API 日本語リファレンス
ホームSecurity.Authentication.Identity › MSV1_0_PROTOCOL_MESSAGE_TYPE

MSV1_0_PROTOCOL_MESSAGE_TYPE

列挙型
基底型i4

メンバー 25

名前10進16進説明
MsV1_0Lm20ChallengeRequest00x0このディスパッチルーチンは、NTLM バージョン 2.0 プロトコルによるログオンの前半部分を担います。この呼び出しによって返されるチャレンジは、要求元の NTLM 2.0 ノードに配信できます。そのノードがチャレンジ応答を返した時点で、 LsaLogonUser 関数への MsV1_0Lm20Logon メッセージを使用してログオンを完了します。詳細については、 MSV1_0_LOGON_SUBMIT_TYPE を参照してください。
MsV1_0Lm20GetChallengeResponse10x1

このディスパッチルーチンは、NTLM リダイレクターがサーバーへの接続を確立しようとする際に、そのサーバーへ渡すチャレンジ応答を決定するために使用されます。

このルーチンには、サーバーからのチャレンジが渡されます。ルーチンは、指定されたパスワード、または指定されたログオン識別子によって暗黙的に決まるパスワードのいずれかを使用して、そのチャレンジを暗号化します。チャレンジ応答は 2 つ返されます。1 つは、認証パッケージに渡された Unicode パスワードに基づくものです。もう 1 つは、そのパスワードをマルチバイト文字セット (ASCII など) に変換して大文字にしたものに基づきます。リダイレクターは、必要に応じていずれか一方、または両方の形式のチャレンジ応答を使用してください。リダイレクターは、返されたチャレンジ応答をそのままの形で使用しなければなりません。0 バイトを追加してはなりません。チャレンジ応答はバイナリデータであり、文字列内に 0 バイトが含まれることがあります。

このルーチンは、NULL セッションを使用することを示す場合があります。リダイレクターが RETURN_PRIMARY_DOMAINNAME、RETURN_PRIMARY_USERNAME、USE_PRIMARY_PASSWORD のすべてのフラグを指定し、かつログオン ID がどの対話型ログオンセッションにも対応しない場合、この関数はユーザー名と両方のチャレンジ応答として空の文字列を返します。

MsV1_0EnumerateUsers20x2この値は非推奨です (使用されません)。
MsV1_0GetUserInfo30x3この値は非推奨です (使用されません)。
MsV1_0ReLogonUsers40x4この値はサポートされていません。
MsV1_0ChangePassword50x5このディスパッチルーチンは、アカウントのパスワードを変更します。
MsV1_0ChangeCachedPassword60x6このディスパッチルーチンは、ログオンキャッシュ内のパスワードを変更します。これは、他の何らかの手段でドメインコントローラー上のパスワードが変更され、ローカルにキャッシュされたバージョンを新しい値に合わせて更新する必要がある場合に使用します。たとえば、RAS はドメイン上のパスワード変更を処理しますが、その後もユーザーがサーバーにアクセスできるように、キャッシュされたコピーを更新する必要があります。
MsV1_0GenericPassthrough70x7このディスパッチルーチンは、他のいずれかのディスパッチルーチンをドメインコントローラーに引き渡します。ドメインコントローラー上の認証パッケージは、特定のディスパッチ要求を拒否することがあります。
MsV1_0CacheLogon80x8このディスパッチルーチンは、ログオン情報をログオンキャッシュにキャッシュします。
MsV1_0SubAuth90x9このディスパッチルーチンは、サブ認証パッケージにバッファーを送信するために呼び出されます。サブ認証がローカルで行われる場合は、このディスパッチルーチンを使用します。サブ認証をドメインコントローラー上で処理する必要がある場合は、 MSV1_0_SUBAUTH_REQUEST および MSV1_0_SUBAUTH_RESPONSE バッファーを指定して MsV1_0GenericPassthrough ディスパッチルーチンを使用します。
MsV1_0DeriveCredential100xAこのディスパッチルーチンは、現在のログオンセッションの一方向関数パスワードの HMAC_SHA1 ハッシュを取得します。
MsV1_0CacheLookup110xB予約済みです。使用しないでください。
MsV1_0SetProcessOption120xCこのディスパッチルーチンは、パスワードポリシーを設定します。SeTcbPrivilege が必要です。
MsV1_0ConfigLocalAliases130xD

このディスパッチルーチンは、登録されたローカルエイリアスの追加、削除、または列挙を行います。このメッセージ型を使用するには、呼び出し元がサービスでなければなりません。

Windows Server 2003 および Windows XP: サポートされていません。

MsV1_0ClearCachedCredentials140xE

このディスパッチルーチンは、ローカルの NTLM ログオンキャッシュ内の資格情報をクリアします。SeTcbPrivilege が必要です。

Windows Server 2003 および Windows XP: サポートされていません。

MsV1_0LookupToken150xF

このディスパッチルーチンは、認証トークンを検索します。SeTcbPrivilege が必要です。

Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。

MsV1_0ValidateAuth160x10

このディスパッチルーチンは、ログオン認証を検証します。SeTcbPrivilege が必要です。

Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。

MsV1_0CacheLookupEx170x11

このディスパッチルーチンは、キャッシュ内のローカルログオンを検索します。SeTcbPrivilege が必要です。

Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。

MsV1_0GetCredentialKey180x12

このディスパッチルーチンは、認証パケットの資格情報キーを取得します。SeTcbPrivilege が必要です。

Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。

MsV1_0SetThreadOption190x13

このディスパッチルーチンは、呼び出し元スレッドの機能と権限を設定します。スレッドオプションはプロセスオプションより優先されるため、NTLM のプロセスオプションの代わりに使用してください。SeTcbPrivilege が必要です。

Windows Server 2008、Windows Vista SP1、Windows Server 2003 SP2、Windows Vista、Windows Server 2003、Windows XP: サポートされていません。

MsV1_0DecryptDpapiMasterKey200x14
MsV1_0GetStrongCredentialKey210x15
MsV1_0TransferCred220x16
MsV1_0ProvisionTbal230x17
MsV1_0DeleteTbalSecrets240x18

公式ドキュメント

MSV1_0_PROTOCOL_MESSAGE_TYPE 列挙型は、 MSV1_0 認証パッケージ に対して LsaCallAuthenticationPackage 関数を呼び出すことで送信できるメッセージの種類を列挙します。

各メッセージはディスパッチルーチンに対応しており、MSV1_0 認証パッケージにそれぞれ異なる処理を実行させます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.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 Enum
import 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* = 24
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,
}
#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