[DllImport("advapi32.dll", SetLastError = true)]
static extern Boolean SetTokenInformation(IntPtr TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass,
ref UInt32 TokenInformation, UInt32 TokenInformationLength);
Declare Function SetTokenInformation Lib "advapi32.dll" (TODO) As TODO
Do you know one? Please contribute it!
None.
Please add some!
[DllImport("advapi32.dll", SetLastError = true)]
static extern Boolean SetTokenInformation(IntPtr TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, IntPtr TokenInformation, int TokenInformationLength);
// api signature:
// WINADVAPI
// BOOL
// WINAPI
// SetTokenInformation(
// _In_ HANDLE TokenHandle,
// _In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
// _In_reads_bytes_(TokenInformationLength) LPVOID TokenInformation,
// _In_ DWORD TokenInformationLength
// );
//
// Note: Parameter TokenInformation gets various data, use IntPtr to your data
// Example: pass int-value to SetTokenInformation
// Alloc 4 bytes for the value
var sessionIDPtr = Marshal.AllocHGlobal(4);
// Convert value to byte[] and copy to sessionIDPtr
Marshal.Copy(BitConverter.GetBytes(sessionID), 0, sessionIDPtr, 4);
if (!api.advapi32.SetTokenInformation(hProcTokenDub, api.TOKEN_INFORMATION_CLASS.TokenSessionId, sessionIDPtr, 4))
{
Trace.TraceError("SetTokenInformation");
}
// clean allocated data
Marshal.FreeHGlobal(sessionIDPtr);