Controllo dei valori restituiti IAccessi

Gli sviluppatori client non devono basarsi sulle macro Component Object Model (COM) SUCCESSEDe FAILED per testare i valori restituiti IAccessi , perché i valori diversi da S_OK sono considerati un esito positivo. Ad esempio, un metodo può restituire S_FALSE, considerato un esito positivo dalla macro SUCCEEDED , ma comunque ricevere un puntatore NULL in un parametro di output.

Gli sviluppatori client devono proteggersi dalla possibilità che alcuni server restituiscono codici di errore diversi dai valori documentati. Per essere sicuri, è necessario assicurarsi che tutti i parametri di output contengano informazioni valide e soddisfino i criteri seguenti:

  • Tutti i puntatori non sono NULL.
  • Il membro vt di qualsiasi struttura VARIANT non è uguale a VT_EMPTY.