Método IMoniker::Hash (objidl.h)
Cria um valor de hash usando o estado interno do moniker.
Sintaxe
HRESULT Hash(
[out] DWORD *pdwHash
);
Parâmetros
[out] pdwHash
Um ponteiro para uma variável que recebe o valor de hash.
Retornar valor
Esse método retorna S_OK para indicar que o valor de hash foi recuperado com êxito.
Comentários
Anotações aos Chamadores
Você pode usar o valor retornado por esse método para manter uma tabela de hash de monikers. O valor de hash determina um bucket de hash na tabela. Para pesquisar um moniker especificado em uma tabela, calcule seu valor de hash e compare-o com os monikers nesse bucket de hash usando IMoniker::IsEqual.Observações aos implementadores
O valor de hash deve ser constante durante o tempo de vida do moniker. Dois monikers que se comparam como iguais usando IMoniker::IsEqual devem ter o mesmo valor.Realizar marshaling e, em seguida, cancelar a gravação de um moniker não deve ter nenhum efeito em seu valor de hash. Consequentemente, sua implementação de IMoniker::Hash deve depender apenas do estado interno do moniker, não do endereço de memória.
Notas específicas da implementação
Implementação | Observações |
---|---|
Anti-moniker | Esse método calcula um valor de hash para o moniker. |
Moniker de classe | Esse método calcula um valor de hash para o moniker e retorna S_OK. Pode retornar E_INVALIDARG se pdwHash for um ponteiro inválido. |
Moniker de arquivo | Esse método calcula um valor de hash para o moniker. |
Moniker composto genérico | Esse método calcula um valor de hash para o moniker. |
Moniker de item | Esse método calcula um valor de hash para o moniker. |
Moniker OBJREF | Esse método calcula um valor de hash para o moniker. |
Moniker de ponteiro | Esse método calcula um valor de hash para o moniker. |
Moniker de URL | Cria um valor de hash com base na cadeia de caracteres de URL do moniker. Esse valor de hash é idêntico quando as cadeias de caracteres de URL são idênticas, embora também possam ser idênticas para cadeias de caracteres de URL diferentes. Esse método é usado para acelerar as comparações reduzindo a quantidade de tempo necessária para chamar IMoniker::IsEqual. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | objidl.h |