⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subauth.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  PCypherBlock = PCYPHER_BLOCK;

  PLM_OWF_PASSWORD = ^LM_OWF_PASSWORD;
  {$EXTERNALSYM PLM_OWF_PASSWORD}
  _LM_OWF_PASSWORD = record
    data: array [0..1] of CYPHER_BLOCK;
  end;
  {$EXTERNALSYM _LM_OWF_PASSWORD}
  LM_OWF_PASSWORD = _LM_OWF_PASSWORD;
  {$EXTERNALSYM LM_OWF_PASSWORD}
  TLmOwfPassword = LM_OWF_PASSWORD;
  PLmOwfPassword = PLM_OWF_PASSWORD;

  LM_CHALLENGE = CLEAR_BLOCK;
  {$EXTERNALSYM LM_CHALLENGE}
  PLM_CHALLENGE = ^LM_CHALLENGE;
  {$EXTERNALSYM PLM_CHALLENGE}
  NT_OWF_PASSWORD = LM_OWF_PASSWORD;
  {$EXTERNALSYM NT_OWF_PASSWORD}
  PNT_OWF_PASSWORD = ^NT_OWF_PASSWORD;
  {$EXTERNALSYM PNT_OWF_PASSWORD}
  NT_CHALLENGE = LM_CHALLENGE;
  {$EXTERNALSYM NT_CHALLENGE}
  PNT_CHALLENGE = ^NT_CHALLENGE;
  {$EXTERNALSYM PNT_CHALLENGE}

const
  USER_SESSION_KEY_LENGTH = (CYPHER_BLOCK_LENGTH * 2);
  {$EXTERNALSYM USER_SESSION_KEY_LENGTH}

type
  PUSER_SESSION_KEY = ^USER_SESSION_KEY;
  {$EXTERNALSYM PUSER_SESSION_KEY}
  _USER_SESSION_KEY = record
    data: array [0..1] of CYPHER_BLOCK;
  end;
  {$EXTERNALSYM _USER_SESSION_KEY}
  USER_SESSION_KEY = _USER_SESSION_KEY;
  {$EXTERNALSYM USER_SESSION_KEY}
  TUserSessionKey = USER_SESSION_KEY;
  PUserSessionKey = PUSER_SESSION_KEY;

  _NETLOGON_LOGON_INFO_CLASS = (
    NetlogonFiller0,
    NetlogonInteractiveInformation,
    NetlogonNetworkInformation,
    NetlogonServiceInformation,
    NetlogonGenericInformation,
    NetlogonInteractiveTransitiveInformation,
    NetlogonNetworkTransitiveInformation,
    NetlogonServiceTransitiveInformation);
  {$EXTERNALSYM _NETLOGON_LOGON_INFO_CLASS}
  NETLOGON_LOGON_INFO_CLASS = _NETLOGON_LOGON_INFO_CLASS;
  {$EXTERNALSYM NETLOGON_LOGON_INFO_CLASS}

  PNETLOGON_LOGON_IDENTITY_INFO = ^NETLOGON_LOGON_IDENTITY_INFO;
  {$EXTERNALSYM PNETLOGON_LOGON_IDENTITY_INFO}
  _NETLOGON_LOGON_IDENTITY_INFO = record
    LogonDomainName: UNICODE_STRING;
    ParameterControl: ULONG;
    LogonId: OLD_LARGE_INTEGER;
    UserName: UNICODE_STRING;
    Workstation: UNICODE_STRING;
  end;
  {$EXTERNALSYM _NETLOGON_LOGON_IDENTITY_INFO}
  NETLOGON_LOGON_IDENTITY_INFO = _NETLOGON_LOGON_IDENTITY_INFO;
  {$EXTERNALSYM NETLOGON_LOGON_IDENTITY_INFO}
  TNetlogonLogonIdentityInfo = NETLOGON_LOGON_IDENTITY_INFO;
  PNetlogonLogonIdentityInfo = PNETLOGON_LOGON_IDENTITY_INFO;

  PNETLOGON_INTERACTIVE_INFO = ^NETLOGON_INTERACTIVE_INFO;
  {$EXTERNALSYM PNETLOGON_INTERACTIVE_INFO}
  _NETLOGON_INTERACTIVE_INFO = record
    Identity: NETLOGON_LOGON_IDENTITY_INFO;
    LmOwfPassword: LM_OWF_PASSWORD;
    NtOwfPassword: NT_OWF_PASSWORD;
  end;
  {$EXTERNALSYM _NETLOGON_INTERACTIVE_INFO}
  NETLOGON_INTERACTIVE_INFO = _NETLOGON_INTERACTIVE_INFO;
  {$EXTERNALSYM NETLOGON_INTERACTIVE_INFO}
  TNetlogonInteractiveInfo = NETLOGON_INTERACTIVE_INFO;
  PNetlogonInteractiveInfo = PNETLOGON_INTERACTIVE_INFO;

  PNETLOGON_SERVICE_INFO = ^NETLOGON_SERVICE_INFO;
  {$EXTERNALSYM PNETLOGON_SERVICE_INFO}
  _NETLOGON_SERVICE_INFO = record
    Identity: NETLOGON_LOGON_IDENTITY_INFO;
    LmOwfPassword: LM_OWF_PASSWORD;
    NtOwfPassword: NT_OWF_PASSWORD;
  end;
  {$EXTERNALSYM _NETLOGON_SERVICE_INFO}
  NETLOGON_SERVICE_INFO = _NETLOGON_SERVICE_INFO;
  {$EXTERNALSYM NETLOGON_SERVICE_INFO}
  TNetlogonServiceInfo = NETLOGON_SERVICE_INFO;
  PNetlogonServiceInfo = PNETLOGON_SERVICE_INFO;

  PNETLOGON_NETWORK_INFO = ^NETLOGON_NETWORK_INFO;
  {$EXTERNALSYM PNETLOGON_NETWORK_INFO}
  _NETLOGON_NETWORK_INFO = record
    Identity: NETLOGON_LOGON_IDENTITY_INFO;
    LmChallenge: LM_CHALLENGE;
    NtChallengeResponse: STRING;
    LmChallengeResponse: STRING;
  end;
  {$EXTERNALSYM _NETLOGON_NETWORK_INFO}
  NETLOGON_NETWORK_INFO = _NETLOGON_NETWORK_INFO;
  {$EXTERNALSYM NETLOGON_NETWORK_INFO}
  TNetlogonNetworkInfo = NETLOGON_NETWORK_INFO;
  PNetlogonNetworkInfo = PNETLOGON_NETWORK_INFO;

  PNETLOGON_GENERIC_INFO = ^NETLOGON_GENERIC_INFO;
  {$EXTERNALSYM PNETLOGON_GENERIC_INFO}
  _NETLOGON_GENERIC_INFO = record
    Identity: NETLOGON_LOGON_IDENTITY_INFO;
    PackageName: UNICODE_STRING;
    DataLength: ULONG;
    LogonData: PUCHAR;
  end;
  {$EXTERNALSYM _NETLOGON_GENERIC_INFO}
  NETLOGON_GENERIC_INFO = _NETLOGON_GENERIC_INFO;
  {$EXTERNALSYM NETLOGON_GENERIC_INFO}
  TNetlogonGenericInfo = NETLOGON_GENERIC_INFO;
  PNetlogonGenericInfo = PNETLOGON_GENERIC_INFO;

// Values for Flags

const
  MSV1_0_PASSTHRU    = $01;
  {$EXTERNALSYM MSV1_0_PASSTHRU}
  MSV1_0_GUEST_LOGON = $02;
  {$EXTERNALSYM MSV1_0_GUEST_LOGON}

//function Msv1_0SubAuthenticationRoutine(LogonLevel: NETLOGON_LOGON_INFO_CLASS;
//  LogonInformation: PVOID; Flags: ULONG; UserAll: PUSER_ALL_INFORMATION;
//  WhichFields, UserFlags: PULONG; Authoritative: PBOOLEAN; LogoffTime,
//  KickoffTime: PLARGE_INTEGER): NTSTATUS; stdcall;
//{$EXTERNALSYM Msv1_0SubAuthenticationRoutine}

type
  PMSV1_0_VALIDATION_INFO = ^MSV1_0_VALIDATION_INFO;
  {$EXTERNALSYM PMSV1_0_VALIDATION_INFO}
  _MSV1_0_VALIDATION_INFO = record
    LogoffTime: LARGE_INTEGER;
    KickoffTime: LARGE_INTEGER;
    LogonServer: UNICODE_STRING;
    LogonDomainName: UNICODE_STRING;
    SessionKey: USER_SESSION_KEY;
    Authoritative: ByteBool;
    UserFlags: ULONG;
    WhichFields: ULONG;
    UserId: ULONG;
  end;
  {$EXTERNALSYM _MSV1_0_VALIDATION_INFO}
  MSV1_0_VALIDATION_INFO = _MSV1_0_VALIDATION_INFO;
  {$EXTERNALSYM MSV1_0_VALIDATION_INFO}
  TMsv10ValidationInfo = MSV1_0_VALIDATION_INFO;
  PMsv10ValidationInfo = PMSV1_0_VALIDATION_INFO;

// values for WhichFields

const
  MSV1_0_VALIDATION_LOGOFF_TIME  = $00000001;
  {$EXTERNALSYM MSV1_0_VALIDATION_LOGOFF_TIME}
  MSV1_0_VALIDATION_KICKOFF_TIME = $00000002;
  {$EXTERNALSYM MSV1_0_VALIDATION_KICKOFF_TIME}
  MSV1_0_VALIDATION_LOGON_SERVER = $00000004;
  {$EXTERNALSYM MSV1_0_VALIDATION_LOGON_SERVER}
  MSV1_0_VALIDATION_LOGON_DOMAIN = $00000008;
  {$EXTERNALSYM MSV1_0_VALIDATION_LOGON_DOMAIN}
  MSV1_0_VALIDATION_SESSION_KEY  = $00000010;
  {$EXTERNALSYM MSV1_0_VALIDATION_SESSION_KEY}
  MSV1_0_VALIDATION_USER_FLAGS   = $00000020;
  {$EXTERNALSYM MSV1_0_VALIDATION_USER_FLAGS}
  MSV1_0_VALIDATION_USER_ID      = $00000040;
  {$EXTERNALSYM MSV1_0_VALIDATION_USER_ID}

// legal values for ActionsPerformed

  MSV1_0_SUBAUTH_ACCOUNT_DISABLED = $00000001;
  {$EXTERNALSYM MSV1_0_SUBAUTH_ACCOUNT_DISABLED}
  MSV1_0_SUBAUTH_PASSWORD         = $00000002;
  {$EXTERNALSYM MSV1_0_SUBAUTH_PASSWORD}
  MSV1_0_SUBAUTH_WORKSTATIONS     = $00000004;
  {$EXTERNALSYM MSV1_0_SUBAUTH_WORKSTATIONS}
  MSV1_0_SUBAUTH_LOGON_HOURS      = $00000008;
  {$EXTERNALSYM MSV1_0_SUBAUTH_LOGON_HOURS}
  MSV1_0_SUBAUTH_ACCOUNT_EXPIRY   = $00000010;
  {$EXTERNALSYM MSV1_0_SUBAUTH_ACCOUNT_EXPIRY}
  MSV1_0_SUBAUTH_PASSWORD_EXPIRY  = $00000020;
  {$EXTERNALSYM MSV1_0_SUBAUTH_PASSWORD_EXPIRY}
  MSV1_0_SUBAUTH_ACCOUNT_TYPE     = $00000040;
  {$EXTERNALSYM MSV1_0_SUBAUTH_ACCOUNT_TYPE}
  MSV1_0_SUBAUTH_LOCKOUT          = $00000080;
  {$EXTERNALSYM MSV1_0_SUBAUTH_LOCKOUT}

//function Msv1_0SubAuthenticationRoutineEx(LogonLevel: NETLOGON_LOGON_INFO_CLASS;
//  LogonInformation: PVOID; Flags: ULONG; UserAll: PUSER_ALL_INFORMATION;
//  UserHandle: SAM_HANDLE; ValidationInfo: PMSV1_0_VALIDATION_INFO;
//  ActionsPerformed: PULONG): NTSTATUS; stdcall;
//{$EXTERNALSYM Msv1_0SubAuthenticationRoutineEx}

//function Msv1_0SubAuthenticationRoutineGeneric(SubmitBuffer: PVOID;
//  SubmitBufferLength: ULONG; ReturnBufferLength: PULONG;
//  ReturnBuffer: PPVOID): NTSTATUS; stdcall;
//{$EXTERNALSYM Msv1_0SubAuthenticationRoutineGeneric}

//function Msv1_0SubAuthenticationFilter(LogonLevel: NETLOGON_LOGON_INFO_CLASS;
//  LogonInformation: PVOID; Flags: ULONG; UserAll: PUSER_ALL_INFORMATION;
//  WhichFields, UserFlags: PULONG; Authoritative: PBOOLEAN; LogoffTime,
//  KickoffTime: PLARGE_INTEGER): NTSTATUS; stdcall;
//{$EXTERNALSYM Msv1_0SubAuthenticationFilter}

const
  STATUS_SUCCESS                = NTSTATUS($00000000);
  {$EXTERNALSYM STATUS_SUCCESS}
  STATUS_INVALID_INFO_CLASS     = NTSTATUS($C0000003);
  {$EXTERNALSYM STATUS_INVALID_INFO_CLASS}
  STATUS_NO_SUCH_USER           = NTSTATUS($C0000064);
  {$EXTERNALSYM STATUS_NO_SUCH_USER}
  STATUS_WRONG_PASSWORD         = NTSTATUS($C000006A);
  {$EXTERNALSYM STATUS_WRONG_PASSWORD}
  STATUS_PASSWORD_RESTRICTION   = NTSTATUS($C000006C);
  {$EXTERNALSYM STATUS_PASSWORD_RESTRICTION}
  STATUS_LOGON_FAILURE          = NTSTATUS($C000006D);
  {$EXTERNALSYM STATUS_LOGON_FAILURE}
  STATUS_ACCOUNT_RESTRICTION    = NTSTATUS($C000006E);
  {$EXTERNALSYM STATUS_ACCOUNT_RESTRICTION}
  STATUS_INVALID_LOGON_HOURS    = NTSTATUS($C000006F);
  {$EXTERNALSYM STATUS_INVALID_LOGON_HOURS}
  STATUS_INVALID_WORKSTATION    = NTSTATUS($C0000070);
  {$EXTERNALSYM STATUS_INVALID_WORKSTATION}
  STATUS_PASSWORD_EXPIRED       = NTSTATUS($C0000071);
  {$EXTERNALSYM STATUS_PASSWORD_EXPIRED}
  STATUS_ACCOUNT_DISABLED       = NTSTATUS($C0000072);
  {$EXTERNALSYM STATUS_ACCOUNT_DISABLED}
  STATUS_INSUFFICIENT_RESOURCES = NTSTATUS($C000009A);
  {$EXTERNALSYM STATUS_INSUFFICIENT_RESOURCES}
  STATUS_ACCOUNT_EXPIRED        = NTSTATUS($C0000193);
  {$EXTERNALSYM STATUS_ACCOUNT_EXPIRED}
  STATUS_PASSWORD_MUST_CHANGE   = NTSTATUS($C0000224);
  {$EXTERNALSYM STATUS_PASSWORD_MUST_CHANGE}
  STATUS_ACCOUNT_LOCKED_OUT     = NTSTATUS($C0000234);
  {$EXTERNALSYM STATUS_ACCOUNT_LOCKED_OUT}

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -