IROTData::GetComparisonData-Methode (objidl.h)

Ruft Daten aus einem Moniker ab, mit dem der Moniker auf Gleichheit mit einem anderen Moniker getestet werden kann.

Syntax

HRESULT GetComparisonData(
  [out] byte  *pbData,
  [in]  ULONG cbMax,
  [out] ULONG *pcbData
);

Parameter

[out] pbData

Ein Zeiger auf einen Puffer, der die Vergleichsdaten empfängt.

[in] cbMax

Die Länge des in pbData angegebenen Puffers.

[out] pcbData

Ein Zeiger auf eine Variable, die die Länge der Vergleichsdaten empfängt.

Rückgabewert

Diese Methode kann die Standardrückgabewerte E_OUTOFMEMORY und S_OK zurückgeben.

Hinweise

Die GetComparisonData-Methode wird in erster Linie von der ausgeführten Objekttabelle (ROT) aufgerufen. Die von der -Methode zurückgegebenen Vergleichsdaten werden auf binäre Gleichheit mit den Von einem anderen Moniker zurückgegebenen Vergleichsdaten getestet. Mit dem parameter pcbData kann rot das Ende der abgerufenen Daten ermitteln.

Hinweise für Implementierer

Die von Ihnen zurückgegebenen Vergleichsdaten müssen den Moniker eindeutig identifizieren und gleichzeitig so kurz wie möglich sein. Die Vergleichsdaten sollten Informationen über den internen Zustand des Monikers sowie die CLSID des Monikers enthalten. Beispielsweise würden die Vergleichsdaten für einen Dateimoniker den im Moniker gespeicherten Pfadnamen sowie die CLSID der Dateimonikerimplementierung enthalten. Dies ermöglicht es, zwei Moniker zu unterscheiden, die ähnliche Zustandsinformationen speichern, aber Instanzen verschiedener Monikerklassen sind.

Die Vergleichsdaten für einen Moniker dürfen 2048 Bytes nicht überschreiten. Bei zusammengesetzten Monikern darf die Gesamtlänge der Vergleichsdaten für alle komponenten 2048 Byte nicht überschreiten. Wenn Ihr Moniker also eine Komponente innerhalb eines zusammengesetzten Monikers sein kann, müssen die von Ihnen zurückgegebenen Vergleichsdaten deutlich kleiner als 2048 Bytes sein.

Wenn Ihre Vergleichsdaten länger als der im cbMax-Parameter angegebene Wert sind, müssen Sie einen Fehler zurückgeben. Beachten Sie, dass beim Aufruf von GetComparisonData für die Komponenten eines zusammengesetzten Monikers der Wert von cbMax für jeden Moniker in der Folge kleiner wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objidl.h

Weitere Informationen

IROTData