共用方式為


釋放 WinSNMP 描述元

WinSNMP 程式設計環境會將描述元資源的解除分配指派給 WinSNMP 實作或 WinSNMP 應用程式,視哪個元件配置描述元的記憶體而定。

若要釋放 smiOIDsmiOCTETS 描述元的資源,適用下列規則:

  • 針對輸入參數

    因為 WinSNMP 應用程式會為具有可變長度的輸入物件配置記憶體,因此應用程式必須使用適當的函式釋放該記憶體。 例如,如果應用程式使用呼叫 GlobalAlloc 函式來配置資源,則應該使用 GlobalFree 函式來解除分配資源。 如果應用程式使用呼叫 HeapAlloc 函式來配置資源,它應該呼叫 HeapFree 函式。

  • 針對輸出參數

    呼叫下列任一函式會導致實作為 smiOIDsmiOCTETS 描述元分配記憶體:SnmpGetVbSnmpEncodeMsgSnmpOidCopySnmpContextToStrSnmpStrToOid

    因為實作會配置這些輸出物件的記憶體,因此應用程式必須呼叫 SnmpFreeDescriptor 函式來解除分配資源。 此函式讓實作可以釋放分配給這些結構中 ptr 成員的記憶體。

若要釋放 smiVALUE 結構的資源,WinSNMP 應用程式必須檢查 語法 成員的 smiVALUE 結構,以正確評估結構的 成員。 如果 語法 成員指出 成員是 smiOCTETSsmiOID 描述符,且實作已為該描述符配置資源,則應用程式必須呼叫 SnmpFreeDescriptor。 這可讓實作釋放記憶體。 如果應用程式配置資源,則必須使用適當的函式釋放記憶體,如先前所述。

如需詳細資訊,請參閱 設定 WinSNMP 記憶體物件