Freigeben über


Microsoft Information Protection SDK – Beobachterkonzepte

Das MIP SDK ist so konzipiert, dass es nahezu vollständig asynchron ist. Beispielsweise wird jeder Vorgang, der zu Netzwerk- oder Datei-E/A führt, asynchron ausgeführt. Um die Ereignisbenachrichtigungen für diese asynchronen Ereignisse zu behandeln, verwendet das SDK das Beobachtermuster.

Implementierungsübersicht

Beim Erstellen eines Objekts, das einen asynchronen Vorgang ausführt, muss eine Observer-Klasse implementiert werden. Beobachter erhalten die Benachrichtigungsereignisse im Zusammenhang mit den verschiedenen asynchronen Vorgängen im MIP SDK und stellen das Ergebnis für die aufrufende Funktion bereit.

Funktionen in jeder Observer-Klasse sind virtuell und werden für das bevorzugte asynchrone Muster überschrieben. Das SDK implementiert das Ereignisbenachrichtigungsbeobachtermuster über std::promise und std::future.

Jeder klassenspezifische Beobachter enthält eine Reihe von Erfolgs- und Fehler-/Fehlerfunktionen für das Ergebnis eines asynchronen Vorgangs. Erfolgsfunktionen geben das dem Vorgang zugeordnete Objekt zurück. Fehler/Fehlerfunktionen geben eine Ausnahme zurück, die Details dazu enthält, warum der Vorgang nicht erfolgreich war.

FileProfile unterstützt beispielsweise die folgenden beiden Vorgänge:

  • Es kann dem Profil über FileProfile::AddEngineAsync eine neue Engine hinzufügen.
  • Es kann eine Engine aus dem Profil über FileProfile::UnloadEngineAsync entladen.

Da zwei Observer Funktionen pro asynchronen Vorgang implementiert werden, kann davon ausgegangen werden, dass vier Observer Methoden zugeordnet FileProfilesind:

  • FileProfileObserver::OnAddEngineSuccess()
  • FileProfileObserver::OnAddEngineError()
  • FileProfileObserver::OnUnloadEngineSuccess
  • FileProfileObserver::OnUnloadEngineError().

MIP SDK-Beobachterklassen

Das MIP File SDK enthält zwei Beobachter:

  • mip::FileProfile::Observer
  • mip::FileHandler::Observer

Das MIP Policy SDK hat nur einen einzigen Beobachter:

  • mip::Profile::Observer

Das MIP Protection SDK verfügt über drei Beobachter:

  • mip::ProtectionProfile::Observer
  • mip::ProtectionEngine::Observer
  • mip::ProtectionHandler::Observer

Nächste Schritte

Erfahren Sie mehr darüber, wie Beobachter von den verschiedenen SDKs implementiert und verwendet werden: