Condividi tramite


Metodo IROTData::GetComparisonData (objidl.h)

Recupera i dati da un moniker che può essere usato per testare il moniker per l'uguaglianza rispetto a un altro moniker.

Sintassi

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

Parametri

[out] pbData

Puntatore a un buffer che riceve i dati di confronto.

[in] cbMax

Lunghezza del buffer specificato in pbData.

[out] pcbData

Puntatore a una variabile che riceve la lunghezza dei dati di confronto.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_OUTOFMEMORY e S_OK.

Commenti

Il metodo GetComparisonData viene chiamato principalmente dalla tabella degli oggetti in esecuzione (ROT). I dati di confronto restituiti dal metodo vengono testati per l'uguaglianza binaria rispetto ai dati di confronto restituiti da un altro moniker. Il parametro pcbData consente al ROT di individuare la fine dei dati recuperati.

Note per gli implementatori

I dati di confronto restituiti devono identificare in modo univoco il moniker, pur essendo il più breve possibile. I dati di confronto devono includere informazioni sullo stato interno del moniker, nonché sul CLSID del moniker. Ad esempio, i dati di confronto per un moniker di file includono il nome del percorso archiviato all'interno del moniker, nonché il CLSID dell'implementazione del moniker del file. In questo modo è possibile distinguere due moniker che si verificano per archiviare informazioni sullo stato simili, ma sono istanze di classi moniker diverse.

I dati di confronto per un moniker non possono superare i 2048 byte di lunghezza. Per i moniker compositi, la lunghezza totale dei dati di confronto per tutti i relativi componenti non può superare i 2048 byte; di conseguenza, se il moniker può essere un componente all'interno di un moniker composito, i dati di confronto restituiti devono essere significativamente inferiori a 2048 byte.

Se i dati di confronto sono più lunghi del valore specificato dal parametro cbMax , è necessario restituire un errore. Si noti che quando GetComparisonData viene chiamato sui componenti di un moniker composito, il valore di cbMax diventa più piccolo per ogni moniker in sequenza.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

IROTData