Freigeben über


MakeAllocator-Klasse

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

Syntax

template<
    typename T,
    bool hasWeakReferenceSupport =
          !__is_base_of(RuntimeClassFlags<InhibitWeakReference>,
                        T)
>
class MakeAllocator;

template<typename T>
class MakeAllocator<T, false>;

template<typename T>
class MakeAllocator<T, true>;

Parameter

T
Ein Typname.

hasWeakReferenceSupport
true Speicher für ein Objekt zuzuweisen, das schwache Verweise unterstützt; false um Speicher für ein Objekt zuzuweisen, das keine schwachen Verweise unterstützt.

Hinweise

Weist Speicher für eine aktivierbare Klasse mit oder ohne schwache Referenzunterstützung zu.

Überschreiben Sie die MakeAllocator Klasse, um ein benutzerdefiniertes Speicherzuordnungsmodell zu implementieren.

MakeAllocator wird in der Regel verwendet, um Speicherverluste zu verhindern, wenn ein Objekt während der Konstruktion ausgelöst wird.

Member

Öffentliche Konstruktoren

Name Beschreibung
MakeAllocator::MakeAllocator Initialisiert eine neue Instanz der MakeAllocator-Klasse.
MakeAllocator::~MakeAllocator Deinitialisiert die aktuelle Instanz der MakeAllocator Klasse.

Öffentliche Methoden

Name Beschreibung
MakeAllocator::Zuweisung Weist Arbeitsspeicher zu und ordnet es dem aktuellen MakeAllocator Objekt zu.
MakeAllocator::D etach Entfernt die Zuordnung des von der Methode "Associat " zugeordneten Speichers vom aktuellen MakeAllocator Objekt.

Vererbungshierarchie

MakeAllocator

Anforderungen

Header: implements.h

Namespace: Microsoft::WRL::D etails

MakeAllocator::Zuweisung

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

__forceinline void* Allocate();

Rückgabewert

Bei erfolgreicher Ausführung ein Zeiger auf den zugewiesenen Speicher; andernfalls . nullptr

Hinweise

Weist Arbeitsspeicher zu und ordnet es dem aktuellen MakeAllocator Objekt zu.

Die Größe des zugewiesenen Speichers ist die Größe des typs, der durch den aktuellen MakeAllocator Vorlagenparameter angegeben wird.

Ein Entwickler muss nur die Allocate() Methode außer Kraft setzen, um ein anderes Speicherzuweisungsmodell zu implementieren.

MakeAllocator::D etach

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

__forceinline void Detach();

Hinweise

Entfernt die Zuordnung des von der Methode "Associat " zugeordneten Speichers vom aktuellen MakeAllocator Objekt.

Wenn Sie aufrufen Detach(), sind Sie dafür verantwortlich, den von der Allocate Methode bereitgestellten Speicher zu löschen.

MakeAllocator::MakeAllocator

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

MakeAllocator();

Hinweise

Initialisiert eine neue Instanz der MakeAllocator-Klasse.

MakeAllocator::~MakeAllocator

Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

~MakeAllocator();

Hinweise

Deinitialisiert die aktuelle Instanz der MakeAllocator Klasse.

Dieser Destruktor löscht bei Bedarf auch den zugrunde liegenden zugeordneten Speicher.