Freigeben über


Microsoft.VisualStudio.Utilities.Internal Namespace

Klassen

AsyncHttpWebRequest

HttpWeb-Anforderungs wrapper

CodeContract

CodeContract wird zum Überprüfen von Eingabeparametern verwendet.

DictionaryExtensions

Mehrere Wörterbucherweiterungsmethoden.

FileBasedRegistry
FileBasedRegistryTools

Dateibasierte Implementierung von IRegistryTools, die fileBasedRegistry für Unix/MacOS verwendet. Die Registrierung auf Computerebene wird nicht unterstützt.

MacNativeMethods

Klasse mit allen PInvoke-Definitionen, die wir in der Telemetriebibliothek verwenden, die unter macOS verwendet werden.

ObjectExtensions

Objekterweiterungsmethoden

Platform

Bestimmt, auf welcher Plattform der Prozess ausgeführt wird.

RegistryTools

Hilfsklasse zum Abrufen von Informationen aus der Registrierung

RegistryValue

Enthält einen Registrierungswert, der für die Mono-kompatible FileBasedRegistry serialisierbar ist.

RegistryValues

Enthält Registrierungswerte, die für die Mono-kompatible FileBasedRegistry serialisierbar sind.

ReparsePointAware

Sammlung von Datei- und Verzeichnisdienstprogrammfunktionen, die sicherstellen, dass die Dateien und Ordner, auf denen interagiert werden, keine Windows-Analysepunkte auf ihren Pfaden aufweisen und dass die Pfade im Code mit den tatsächlichen Pfaden auf dem Datenträger übereinstimmen.

Die Einschleusung von Analysepunkten ist ein bekannter/allgemeiner Vektor von Sicherheits-Exploits. Weitere allgemeine Informationen finden Sie hier: https://docs.microsoft.com/en-us/windows/win32/fileio/reparse-points

Das Ziel dieses Funktionssatzes besteht darin, ein Windows-Dateihandle abzurufen, zu überprüfen, ob es sich im erwarteten Pfad befindet, und dann alle Dateivorgänge mit demselben Handle auszuführen. Es ist KEIN sicheres Muster, die Datei zu überprüfen und dann alle zusätzlichen Vorgänge mithilfe des Dateipfads auszuführen, da ein Angreifer das Rennen zwischen der Überprüfung der Datei und dem Dateivorgang basierend auf dem Dateipfad ausnutzen kann. Diese Angriffsklasse wird als Time-of-Check/Time-of-Use (TOCTOU) bezeichnet. Um dies zu vermeiden, enthält diese Klasse das Dateihandle und führt alle Vorgänge für das Handle aus, sobald es sich am richtigen Speicherort befindet. Da alle Vorgänge auf dem Dateihandle basieren, wissen wir, dass wir die Datei ändern, die wir überprüft haben, um richtig zu sein.

StreamedHttpWebResponse

HttpWeb-Antwort wrapper mit Streamimplementierung.

StringExtensions

Erweitern mehrerer Zeichenfolgenmethoden

TaskExtensions

Aufgabenerweiterungen

Strukturen

MacNativeMethods.OSVersionInfo
MacNativeMethods.SystemInfo

Schnittstellen

IAsyncHttpWebRequest

HttpWeb-Anforderungs-Wrapperschnittstelle.

IRegistryTools

Hilfsklasse zum Abrufen von Informationen aus der Registrierung

IRegistryTools2
IRegistryTools3
IRegistryTools4
IStreamedHttpWebResponse

HttpWeb-Antwort-Wrapperschnittstelle.

Enumerationen

ErrorCode

Mögliche Fehlercodes für die Antwort.