Поделиться через


Microsoft.VisualStudio.Utilities.Internal Пространство имен

Классы

AsyncHttpWebRequest

Программа-оболочка httpWeb-запроса

CodeContract

CodeContract используется для проверки входных параметров

DictionaryExtensions

Несколько методов расширения словаря.

FileBasedRegistry
FileBasedRegistryTools

Реализация IRegistryTools на основе файлов, использующая FileBasedRegistry для Unix/MacOS. Реестр на уровне компьютера не поддерживается.

MacNativeMethods

Класс, содержащий все определения PInvoke, используемые в библиотеке телеметрии, которые используются в macOS.

ObjectExtensions

Методы расширений объектов

Platform

Определяет, на какой платформе выполняется процесс.

RegistryTools

Вспомогательный класс для получения сведений из реестра

RegistryValue

Содержит значение реестра, сериализуемое для совместимого с Mono fileBasedRegistry.

RegistryValues

Содержит значения реестра, сериализуемые для mono-совместимого fileBasedRegistry.

ReparsePointAware

Коллекция служебных функций файлов и каталогов, которые гарантируют, что файлы и папки, с которыми взаимодействуете, не имеют точек повторного анализа Windows в их путях и что пути в коде соответствуют фактическим путям на диске.

Внедрение точек повторного преобразования — это известный или распространенный вектор эксплойтов безопасности. Дополнительные общие сведения о них см. здесь: https://docs.microsoft.com/en-us/windows/win32/fileio/reparse-points

Цель этого набора функций — получить дескриптор файла Windows, убедиться, что он находится в ожидаемом пути, а затем выполнить все операции с файлами с помощью одного дескриптора. Проверка файла и выполнение дополнительных операций с использованием пути к файлу не является безопасным шаблоном, так как злоумышленник может использовать гонку между проверка файла и операцией с файлом на основе пути к файлу. Этот класс атаки называется Время проверки и время использования (TOCTOU). Чтобы избежать этого, этот класс будет хранить дескриптор файла и выполнять все операции с дескриптором, как только он будет признан в правильном расположении. Так как все операции основаны на дескрипторе файла, мы знаем, что мы изменяем файл, который мы проверили на правильность.

StreamedHttpWebResponse

Оболочка ответа HttpWeb с реализацией потока.

StringExtensions

Расширение нескольких строковых методов

TaskExtensions

Расширения задач

Структуры

MacNativeMethods.OSVersionInfo
MacNativeMethods.SystemInfo

Интерфейсы

IAsyncHttpWebRequest

Интерфейс-оболочка httpWeb-запроса.

IRegistryTools

Вспомогательный класс для получения сведений из реестра

IRegistryTools2
IRegistryTools3
IRegistryTools4
IStreamedHttpWebResponse

Интерфейс-оболочка ответа HttpWeb.

Перечисления

ErrorCode

Возможные коды ошибок для ответа.