다음을 통해 공유


CGlobalHeap 클래스

이 클래스는 Win32 전역 힙 함수를 사용하여 IAtlMemMgr 을 구현합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CGlobalHeap : public IAtlMemMgr

멤버

공용 메서드

이름 설명
CGlobalHeap::Allocate 메모리 블록을 할당하려면 이 메서드를 호출합니다.
CGlobalHeap::Free 이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록을 해제합니다.
CGlobalHeap::GetSize 이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록의 할당된 크기를 가져옵니다.
CGlobalHeap::Reallocate 이 메모리 관리자에 의해 할당된 메모리를 다시 할당하려면 이 메서드를 호출합니다.

설명

CGlobalHeap 는 Win32 전역 힙 함수를 사용하여 메모리 할당 함수를 구현합니다.

참고 항목

전역 힙 함수는 다른 메모리 관리 함수보다 느리며 많은 기능을 제공하지 않습니다. 따라서 새 애플리케이션은 힙 함수를 사용해야 합니다. CWin32Heap 클래스에서 사용할 수 있습니다. 전역 함수는 DDE 및 클립보드 함수에서 계속 사용됩니다.

예시

IAtlMemMgr에 대한 예제를 참조하세요.

상속 계층 구조

IAtlMemMgr

CGlobalHeap

요구 사항

헤더: atlmem.h

CGlobalHeap::Allocate

메모리 블록을 할당하려면 이 메서드를 호출합니다.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

매개 변수

nBytes
새 메모리 블록의 요청된 바이트 수입니다.

Return Value

새로 할당된 메모리 블록의 시작 부분에 대한 포인터를 반환합니다.

설명

CGlobalHeap::Free 또는 CGlobalHeap::Reallocate를 호출하여 이 메서드에서 할당한 메모리를 해제합니다.

GMEM_FIXED 플래그 매개 변수와 함께 GlobalAlloc를 사용하여 구현됩니다.

CGlobalHeap::Free

이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록을 해제합니다.

virtual void Free(void* p) throw();

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다. NULL은 유효한 값이며 아무 작업도 수행하지 않습니다.

설명

GlobalFree를 사용하여 구현됩니다.

CGlobalHeap::GetSize

이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록의 할당된 크기를 가져옵니다.

virtual size_t GetSize(void* p) throw();

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다.

Return Value

할당된 메모리 블록의 크기를 바이트 단위로 반환합니다.

설명

GlobalSize를 사용하여 구현됩니다.

CGlobalHeap::Reallocate

이 메모리 관리자에 의해 할당된 메모리를 다시 할당하려면 이 메서드를 호출합니다.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다.

nBytes
새 메모리 블록의 요청된 바이트 수입니다.

Return Value

새로 할당된 메모리 블록의 시작 부분에 대한 포인터를 반환합니다.

설명

CGlobalHeap::Free를 호출하여 이 메서드에서 할당한 메모리를 해제합니다.

GlobalReAlloc를 사용하여 구현됩니다.

참고 항목

클래스 개요
CComHeap 클래스
CWin32Heap 클래스
CLocalHeap 클래스
CCRTHeap 클래스
IAtlMemMgr 클래스