Я работал над пакетом аутентификации LSA для внедрения моего пользовательского механизма входа в Windows 10. До сих пор мне удалось зарегистрировать пакет аутентификации и получить метод LsaLogonUserEx, вызываемый LSA. Теперь я застрял на том, как подготовить параметры OUT метода LsaApLogOnUser.
NTSTATUS NTAPI
LsaApLogonUserEx(
IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType,
IN PVOID ProtocolSubmitBuffer,
IN PVOID ClientBufferBase,
IN ULONG SubmitBufferSize,
OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferSize,
OUT PLUID LogonId,
OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation,
OUT PUNICODE_STRING *AccountName,
OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName
);
Особенно буфер профиля и информация о токене. Должен ли я выделять для них только память или нужно правильно определить их значения, а затем присвоить их?