Partilhar via


Visão geral do OID

A extensibilidade é alcançada fornecendo o uso de novos identificadores de objeto (OIDs), novos tipos de codificação e novas DLLs.

Os OIDs CryptoAPI podem assumir qualquer uma das seguintes formas:

  • Uma cadeia numérica como "1.2.3.500.88"
  • Uma cadeia de caracteres alfanumérica, como MyFunction
  • Uma constante com um valor menor ou igual a 0xFFFF. Essas constantes geralmente são associadas a um nome através do uso de uma instrução #define em um arquivo de cabeçalho.

As funções extensíveis aceitam OID e argumentos de tipo de codificação. Essas funções pesquisam o registro do sistema para encontrar uma DLL associada ao OID e argumentos de tipo de codificação passados para a função. Se uma DLL para a combinação OID e tipo de codificação for encontrada, a DLL será carregada e a sua função será chamada. A ilustração seguinte mostra este fluxo para a função CryptEncodeObject:

fluxo óide

Isso permite que a funcionalidade da CryptoAPI seja estendida conforme a necessidade. O uso dessa metodologia sobrecarrega o desenvolvedor da nova funcionalidade para escrever todo o código necessário para essa funcionalidade. Para codificar alguma nova estrutura de dados, por exemplo, a função na DLL deve executar todo o processo de codificação.