Compartilhar via


Liberando descritores WinSNMP

O ambiente de programação WinSNMP atribui a desalocação de recursos de descritor à implementação winSNMP ou ao aplicativo WinSNMP, dependendo de qual componente aloca a memória para o descritor.

Para liberar os recursos para um descritor smiOID ou smiOCTETS , as seguintes regras se aplicam:

  • Para parâmetros de entrada

    Como o aplicativo WinSNMP aloca a memória para objetos de entrada com comprimentos variáveis, o aplicativo deve liberar essa memória usando uma função apropriada. Por exemplo, se o aplicativo alocou os recursos com uma chamada para a função GlobalAlloc , ele deverá usar a função GlobalFree para desalocar os recursos. Se o aplicativo alocou os recursos com uma chamada para a função HeapAlloc , ele deverá chamar a função HeapFree .

  • Para parâmetros de saída

    Uma chamada para qualquer uma das seguintes funções resulta na implementação alocando memória para um descritor smiOID ou smiOCTETS : SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStr e SnmpStrToOid.

    Como a implementação aloca a memória para esses objetos de saída, o aplicativo deve chamar a função SnmpFreeDescriptor para desalocar os recursos. Essa função permite que a implementação libere a memória alocada para o membro ptr dessas estruturas.

Para liberar os recursos para uma estrutura smiVALUE, um aplicativo WinSNMP deve marcar o membro de sintaxe de uma estrutura smiVALUE para avaliar corretamente o membro de valor da estrutura. Se o membro de sintaxe indicar que o membro de valor é um smiOCTETS ou um descritor smiOID e a implementação alocou os recursos para o descritor, o aplicativo deve chamar SnmpFreeDescriptor. Isso permite que a implementação libere a memória. Se o aplicativo alocou os recursos, ele deve liberar a memória usando uma função apropriada, conforme indicado anteriormente.

Para obter mais informações, consulte Alocando objetos de memória WinSNMP.