Compartir a través de


Método IROTData::GetComparisonData (objidl.h)

Recupera datos de un moniker que se puede usar para probar el moniker para comprobar la igualdad con otro moniker.

Sintaxis

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

Parámetros

[out] pbData

Puntero a un búfer que recibe los datos de comparación.

[in] cbMax

Longitud del búfer especificado en pbData.

[out] pcbData

Puntero a una variable que recibe la longitud de los datos de comparación.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_OUTOFMEMORY y S_OK.

Comentarios

La tabla de objetos en ejecución (ROT) llama principalmente al método GetComparisonData . Los datos de comparación devueltos por el método se prueban para la igualdad binaria con los datos de comparación devueltos por otro moniker. El parámetro pcbData permite al ROT localizar el final de los datos recuperados.

Notas para los implementadores

Los datos de comparación que se devuelven deben identificar de forma única el moniker, a la vez que siguen siendo lo más cortos posible. Los datos de comparación deben incluir información sobre el estado interno del moniker, así como el CLSID del moniker. Por ejemplo, los datos de comparación de un moniker de archivo incluirían el nombre de ruta de acceso almacenado en el moniker, así como el CLSID de la implementación del moniker de archivo. Esto permite distinguir dos monikers que tienen lugar para almacenar información de estado similar, pero son instancias de diferentes clases de moniker.

Los datos de comparación de un moniker no pueden superar los 2048 bytes de longitud. Para los monikers compuestos, la longitud total de los datos de comparación de todos sus componentes no puede superar los 2048 bytes; por lo tanto, si el moniker puede ser un componente dentro de un moniker compuesto, los datos de comparación que se devuelven deben ser significativamente inferiores a 2048 bytes.

Si los datos de comparación son más largos que el valor especificado por el parámetro cbMax , debe devolver un error. Tenga en cuenta que cuando se llama a GetComparisonData en los componentes de un moniker compuesto, el valor de cbMax se vuelve más pequeño para cada moniker en secuencia.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

IROTData