我一直致力于在 Windows 10 中引入我的自定义登录机制的 LSA auth 包。到目前为止,我已经成功注册了 auth 包并获得了 LSA 调用的 LsaLogonUserEx 方法。现在我遇到的问题是如何准备 LsaApLogOnUser 方法的 OUT 参数。
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
);
特别是 Profile 缓冲区和 Token 信息。我应该只为它们分配内存还是需要正确确定那里的值然后分配它们?