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 |