Я делаю небольшой анализ в файловых функциях в dll ядра. Я заметил эту функцию: DosPathToSessionPath. Я искал ее. Об этом мало документировано. Может ли кто-нибудь сказать мне, что такое использование этой функции?Что такое функция DosPathToSessionPath?
0
A
ответ
0
DosPathToSessionPath
не задокументирован. Вот небольшой C# код, который используют DosPathToSessionPath
:
using System;
using System.Runtime.InteropServices;
namespace DosPathToSessionPath {
static class NativeMethods {
[DllImport ("kernel32.dll", CharSet = CharSet.Unicode)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool DosPathToSessionPath (
uint sessionId, String pInPath, out IntPtr ppOutPath);
[DllImport ("kernel32.dll")]
internal static extern uint WTSGetActiveConsoleSessionId();
[DllImport ("kernel32.dll", SetLastError = true, ExactSpelling = true)]
internal static extern IntPtr LocalFree (IntPtr hMem);
}
class Program {
static void Main (string[] args) {
uint sessionId = NativeMethods.WTSGetActiveConsoleSessionId();
string filePath = @"C:\Program Files";
IntPtr ppOutPath;
bool statusCode = NativeMethods.DosPathToSessionPath (
sessionId, filePath, out ppOutPath);
if (statusCode) {
string outPath = Marshal.PtrToStringAuto (ppOutPath);
Console.WriteLine (outPath);
ppOutPath = NativeMethods.LocalFree (ppOutPath);
}
}
}
}
Это не ясно, в каких ситуациях функция должна быть использована. Является ли путь сеанса таким, как \Sessions\1\DosDevices\C:\Program Files
или как C:\Users\Oleg\AppData\Local\VirtualStore\Program Files
?
Этот код вы видите как отправную точку некоторых экспериментов. В настоящее время выходной путь DosPathToSessionPath
(ppOutPath
) всегда совпадает с входным путем.
Смежные вопросы
- 1. Что такое функция подчеркивания?
- 2. Что такое функция предупреждения?
- 3. Что такое хэш-функция?
- 4. Что такое «предопределенная функция»?
- 5. Что такое функция "(ClassName *)"
- 6. Что такое функция «в»?
- 7. Что такое лямбда (функция)?
- 8. Что такое тривиальная функция?
- 9. Что такое «Функция страницы»?
- 10. Что такое функция reloadData?
- 11. Что такое функция eval?
- 12. Что такое функция определения?
- 13. Что такое функция Y?
- 14. Что такое функция jQuery.noop()?
- 15. Что такое точка /: функция?
- 16. Что такое функция привязки
- 17. Что такое «функция доступа»?
- 18. Что такое функция forkN?
- 19. Что такое эвристическая функция
- 20. Что такое функция батута?
- 21. Что такое встроенная функция?
- 22. Что такое функция stop()?
- 23. Что такое виртуальная функция?
- 24. Что такое триггерная функция
- 25. Что такое функция() (функция()) в JavaScript/jQuery?
- 26. Что такое функция require? ReactJS?
- 27. Что такое функция сигнала (SIGINT)?
- 28. Что такое исходная функция оболочки?
- 29. Что такое функция моментального снимка?
- 30. libuv: Что такое функция uv_setup_args?
Это было на самом деле вовремя до, фактически, когда я исследовал эту функцию. Было замечено, что эта функция идентифицирует только тип пути. С его помощью определяется пространство ядра frm (например: \ Sessions \ 1 \ DosDevices \ Drive \ Program Files) или пользовательский режим frm. – kiddo