- make a copy of KSFILTER_DESCRIPTOR as it might have been allocated from the stack
- always initialize object bag in filter factory
svn path=/trunk/; revision=72779
- SHCreateDefaultContextMenu: Since our shell folders don't pass the array of class keys needed, populate this array right in SHCreateDefaultContextMenu. This code should later be moved to the shell folders so as to make CDefaultContextMenu.cpp agnostic to the kind of items it handles.
- CDefaultContextMenu: Simplify filling the menu by making use of the array of keys passed in the DEFCONTEXTMENU struct.
svn path=/trunk/; revision=72776
- CDefaultContextMenu: Simplify some really superfluous code and add more checks for bogus parameters. Create the data object using GetUIObjectOf instead of SHCreateDataObject. Each sell folder should be able to use its own special data object.
svn path=/trunk/; revision=72775
- HCR_GetFolderAttributes already calls GetAttributesOf when needed, calling it when it is not needed can lead to crashes.
svn path=/trunk/; revision=72769
LsapGetLogonSessionData: Marshall the session data before sending them to the client.
[SECUR32]
LsaConnectUntrusted: Wait for the authentication thread.
LsaGetLogonSessionData: Unmarshall the session data after receiving them from the server.
svn path=/trunk/; revision=72767
- LsaRegisterLogonProcess: Wait for the LSA_AUTHENTICATION_INITIALIZED event.
- LsaDeregisterLogonProcess: Use ZwClose to close the port handle.
svn path=/trunk/; revision=72756
Open/Create and set the \\SECURITY\\LSA_AUTHENTICATION_INITIALIZED event after the LsaAuthenticationPort has been created.
svn path=/trunk/; revision=72755
- Move LsaConnectUntrusted() from sdk/lib/lsalib/lsa.c to dll/win32/secur32/lsalpc.c as it is not exported from ntoskrnl.
- Remove obsolete code from lsalib.
svn path=/trunk/; revision=72754
LsaRegisterLogonProcess: Do not wait for \\SECURITY\\LSA_AUTHENTICATION_INITIALIZED to get signaled as it breaks the boot.
svn path=/trunk/; revision=72753
[LSALIB]
- Add old-school annotations (as we currently do in our main .c code of our stuff).
- Mention that LsaConnectUntrusted is not an API that is exported (& implemented) by ntoskrnl.
- For LsaRegisterLogonProcess, we first wait for the LSA server to be ready (by waiting on its initialization event). This is TODO for LsaConnectUntrusted on the contrary.
[LSALIB][NTOS]
Usa the lsalib as the implementation of the LSA functions exported by ntoskrnl. But for that we need to recompile the lsalib as a library that can be used from inside ntoskrnl, because it needs some functions that are normally exported by ntos. For this purpose I add the library target "ntlsalib" (which also specify different #defines), to differentiate it from the (user-mode) "lsalib" one that is used by secur32.dll (Amine, if you have a better idea on how to do that, please let me know!).
svn path=/trunk/; revision=72751
- CreateUserEnvironment: if user impersonation fails, just fail the call.
- SetDefaultLanguage: Use the *correct* HKEY_CURRENT_USER key to retrieve the lang., that is, first impersonate the user, then, call RegOpenCurrentUser. We do that because otherwise calling RegOpenKey(Ex) for HKEY_CURRENT_USER just uses the process cached value of HKEY_CURRENT_USER, which does not change *even if* one impersonates an user.
[MSGINA]
- Correctly impersonate the user when opening & initializing the shutdown dialog (in the same way as winlogon does), i.e. call ImpersonateLoggedOnUser and use RegOpenCurrentUser.
- Fill few (but not all) code holes in WlxScreenSaverNotify.
svn path=/trunk/; revision=72737