Home > Enterprise >  I have a question about the paramether of GetPriorityClass Function (and [in] attribute)
I have a question about the paramether of GetPriorityClass Function (and [in] attribute)

Time:09-30

DWORD GetPriorityClass(
  [in] HANDLE hProcess
);

In the documentation they says if the function succeeds, the return value is the priority class of the specified process.

The parameter takes [in] HANDLE hProcess that will be the process that i will be take the priority, but i dont know what means [in] or if i have to put some data into the parameter.


The docs says the next thing :

[in] hProcess

A handle to the process.


But doesnt explain or show some example or how can i fill the param.

CodePudding user response:

As you can see in the documentation, GetPriorityClass:

Retrieves the priority class for the specified process.

(emphasis is mine)

The handle to the process is passed as the hProcess input argument (marked with the [in] attribute) to the function.
This just means you have to supply it yourself.

Something like:

HANDLE hMyProcess = ...;
DWORD dwRes = GetPriorityClass(hMyProcess);
if (dwRes == 0)
{
    // Handle error
}
else
{
    // Use the priority class in dwRes
}

Notes:

  • More info about [in] attribute here: SAL documentation and here: IDL documentation. SAL is Microsoft's source-code annotation language which uses the _In_ style for this attribute. IDL is the interface definition language which uses the [in] style. But the idea is the same. BTW the current Windows SDK headers use the SAL style.

  • A complete example showing the usage of GetPriorityClass (among other functions): example.

  • Related