How can I get session ID by process ID on Win XP - winapi

There is ProcessIdToSessionId function that works on Win Vista and later.
How can I get the session ID by the process ID on Windows XP?

MSDN archive from archive.org
Minimum supported client: Windows 2000 Professional
In case you mean older than Windows Vista,
Windows 2000/XP is no longer supported by Microsoft, therefore the old MSDN entry is missing

Related

If I specify compatibility with Windows 8, 8.1, or 10 in my manifest, what changes?

This page:
Application Manifest
Lists certain changes that occur if you specifically flag your application as compatible with Windows 7. For example:
Windows 7: To improve scalability and reduce thread counts, RPC switched to the NT thread pool (default pool). For Windows Vista, RPC used a private thread pool.
...
Windows Vista (default): For binaries compiled for Windows Vista and below, the private pool is used.
Are there any similar lists of changes that occur on newer versions of Windows (8, 8.1, 10) if you specify their supportedOS GUID in the manifest, vs not specifying one at all?
You are reading Windows 7 documentation. Try reading newer documentation, such as this one for Windows 8:
App (executable) manifest
Windows 10 has not been released yet, so MSDN does not have much in the way of Windows 10 documentation yet. However, the supportedOS guid for Windows 10 has been mentioned in some MSDN blogs, at least:
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>

Windows Management Instrumentation Command-line (WMIC) support for different windows version

I am developing a few scripts depending upon Windows Management Instrumentation Command-line (WMIC). What is worrying me is support of WMIC for different versions of Windows.
I have found a few pages here and there. For example,
http://ss64.com/nt/wmic.html points "WMIC is available on Vista/Windows 7, Windows XP Professional, but not Windows XP Home". But these links are quite old.
I have already checked WMIC in Windows 7. How to find what are the platforms WMIC support.
Can I assume in the following windows platforms, WMIC is available:
Windows XP
Windows 7 (32bit and 64bit version)
Windows 2007 (32bit and 64bit version)
Windows 2012 (32bit and 64bit version)
WMIC is supported in every SKU of Windows after Windows XP, so, yes, you can assume it will be there.
See http://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx, which states the minimum version of the supported OSes as XP and Server 2003.
You must aware for some changes about WMIC within XP to 7 even higher.
For example, Volume switch there is in Win7 but not WinXP.
I suggest to use and test with minimum state that is WinXP.

win32 - with Windows XP Home

On MSDN lot win32 functions contain this statement:
Requirements: Minimum supported client - Windows 2000 Professional.
Is it really necessary to use the pro version, or function works with home version.
I use windows-xp home, and I can run many functions, but one function fails without reason, could be that it fails because I do not use pro version?
There was no "Home" versions of Windows 2000, Professional was the only non-server version released.
If the documentation displays it as the minimum supported version & do not list exceptions for XP, then anything with a minimum of "Windows 2000 Professional" will run on XP Home or Pro.

What is the meaning of "Windows [versions]: this value is not available." statement in MSDN?

When reading the MSDN documentation for WinLocalLogonSid value of WELL_KNOWN_SID_TYPE enumeration, that is:
WinLocalLogonSid
Indicates a SID that matches a local logon group.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This value is not available.
there is an uncertainty of meaning in the system requirement statement. It can be one of the following meanings:
WinLocalLogonSid start to exist in Windows 8.
In case of the documentation is not yet updated to Windows 8, it can also means that WinLocalLogonSid only exists in Windows versions prior to Windows XP.
Unfortunately, those enumeration values were not documented in the header source code.
I made a check for WinNT.h from Windows 7 SDK, surprisingly, the WinLocalLogonSid was available there. I don't have a definite conclusion for this fact because there is a possibility that an identifier is declared but not yet implemented.
So, could someone experienced on this stuffs tell me what is the meaning of such a system requirement statement in MSDN?
Notice that it says at the bottom:
Minimum supported client: Windows XP
Minimum supported server: Windows Server 2003
So yes, it is only Windows 8.

Log off from Remote Desktop Session does not closing Session, showing the login screen again on Windows XP 32 Bit - SP2

As per requirement we have written one custom GINA. I have observed one interesting behavior in Windows XP 32 Bit(SP2). Customized GINA internally calls windows default Windows GINA (msgina.dll) and shows one extra window as per our requirement.
I used to do remote desktop to XP machine from my machine. After replacing Windows GINA with customized GINA I tried to log off from the XP Machine (I am Using Remote Desktop Connection to log in), Log off completes successfully (After showing saving your settings, Closing network connections etc) and I will get log in screen which we get during log on, this is not expected compared to other flavors of Windows OD.
Where as in other operating systems such as Windows XP 64 Bit/ Windows 2003 32/64 Bit even after replacing the Windows Gina with custom GINA remote desktop session closes after log off from the machine. I have tried installing Novell GINA on Windows XP 32 Bit but I have not find any issue with that.
I have Tried upgrading XP SP2 to SP3, still I am facing the same issue.
Has anyone else faced such issues when working with Windows GINA?
I cannot say that I had the same issues. Are you passing most of the functions through to msgina or do you do a lot of custom processing (and replacing the original code)?
My custom GINA was a very shallow wrapper of existing functionality and worked perfectly fine on Windows 2000, XP and 2003.
However, as to the differences in behavior: XP x64 is based on the Windows 2003 Server code base. So this could well explain some of the similarities between those and differences to "vanilla" XP.

Resources