Aracılığıyla paylaş


_set_purecall_handler, _set_purecall_handler_m

İşleyici saf sanal işlev çağrısı için ayarlar.

_purecall_handler _set_purecall_handler(     _purecall_handler function );

Parametreler

  • function
    Saf sanal işlevi çağrıldığında çağrılacak işlev.Bir _purecall_handler işlevi dönüş türü void olması gerekir.

Dönüş Değeri

Önceki _purecall_handler.Döndürür NULL meydana gelirse önceki işleyici yok.

Notlar

Kullanım _set_purecall_handler saf sanal işlevler catch ve bunları belirli bir şekilde kullanıcıya rapor veya bunları hata ayıklama amacıyla yakalamak istiyorsanız.

Olmadığından bir _purecall_handler için tüm işlem, bu işlev çağırma hemen tüm diziler etkiler.Herhangi bir iş parçacığı üzerinde son çağrı işleyicisini ayarlar.

Tek bir yok _set_purecall_handler dinamik olarak bağlı tüm DLL'leri veya yürütülebilir dosyalar; işleyicisi çağırdıktan olsa bile _set_purecall_handler , işleyici tarafından başka bir değiştirilebilir veya başka bir DLL veya yürütülebilir bir dosyayı tarafından ayarlanan bir işleyici değiştireceğiz.

Varsayılan davranışı geri yüklemek için arama _set_purecall_handler ile bir NULL bağımsız değişkeni.

Gereksinimler

Yordam

Gerekli başlık

_set_purecall_handler

< stdlib.h >

Uyumluluk daha fazla bilgi için bkz: Uyumluluk giriş.

Örnek

// _set_purecall_handler.cpp
// compile with: /W1
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>

class CDerived;
class CBase
{
public:
   CBase(CDerived *derived): m_pDerived(derived) {};
   ~CBase();
   virtual void function(void) = 0;

   CDerived * m_pDerived;
};

class CDerived : public CBase
{
public:
   CDerived() : CBase(this) {};   // C4355
   virtual void function(void) {};
};

CBase::~CBase()
{
   m_pDerived -> function();
}

void myPurecallHandler(void)
{
   printf("In _purecall_handler.");
   exit(0);
}

int _tmain(int argc, _TCHAR* argv[])
{
   _set_purecall_handler(myPurecallHandler);
   CDerived myDerived;
}
  

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için Platform çağırma örnekler.

Ayrıca bkz.

Başvuru

Hata İşleme (CRT)

_purecall