메모리 관리 함수

일반 메모리 함수

함수 설명
AddSecureMemoryCacheCallback 보안 메모리 범위가 해제되거나 보호가 변경될 때 호출할 콜백 함수를 등록합니다.
CopyDeviceMemory 개발자가 디바이스 메모리에 액세스할 때 맞춤 오류가 생성되지 않도록 해야 하는 상황에서 컴파일러 최적화의 간섭 없이 한 위치에서 다른 위치로 메모리를 복사합니다.
CopyMemory 한 위치에서 다른 위치로 메모리 블록을 복사합니다.
CopyVolatileMemory 원본 메모리 블록의 내용을 대상 메모리 블록에 복사합니다.
CreateMemoryResourceNotification 메모리 리소스 알림 개체를 만듭니다.
FillDeviceMemory 개발자가 디바이스 메모리에 액세스할 때 맞춤 오류가 생성되지 않도록 해야 하는 상황에서 컴파일러 최적화의 간섭 없이 버퍼의 콘텐츠를 설정합니다.
FillMemory 지정된 값으로 메모리 블록을 채웁니다.
FillVolatileMemory 지정된 채우기 값으로 메모리 블록을 채웁니다.
GetLargePageMinimum 큰 페이지의 최소 크기를 검색합니다.
GetPhysicallyInstalledSystemMemory 컴퓨터에 물리적으로 설치된 RAM의 양을 검색합니다.
GetSystemFileCacheSize 시스템 캐시의 작업 집합에 대한 현재 크기 제한을 검색합니다.
GetWriteWatch 가상 메모리 영역에 기록된 페이지의 주소를 검색합니다.
GlobalMemoryStatusEx 물리적 메모리와 가상 메모리의 현재 사용량에 대한 정보를 가져옵니다.
MoveMemory 메모리 블록을 한 위치에서 다른 위치로 이동합니다.
MoveVolatileMemory 원본 메모리 블록의 내용을 대상 메모리 블록에 복사하고 겹치는 원본 및 대상 메모리 블록을 지원합니다.
QueryMemoryResourceNotification 지정된 메모리 리소스 개체의 상태를 검색합니다.
RemoveSecureMemoryCacheCallback 이전에 AddSecureMemoryCacheCallback 함수에 등록된 콜백 함수의 등록을 취소합니다.
ResetWriteWatch 가상 메모리 영역에 대한 쓰기 추적 상태를 다시 설정합니다.
SecureMemoryCacheCallback 보안 메모리 범위가 해제되거나 보호가 변경될 때 호출되는 애플리케이션 정의 함수입니다.
SecureZeroMemory 메모리 블록을 0으로 채웁니다.
SecureZeroMemory2 안전한 방식으로 메모리 블록을 0으로 채웁니다.
SetSystemFileCacheSize 파일 시스템 캐시에 대한 작업 집합의 크기를 제한합니다.
ZeroDeviceMemory 개발자가 디바이스 메모리에 액세스할 때 맞춤 오류가 생성되지 않도록 해야 하는 상황에서 컴파일러 최적화의 간섭 없이 버퍼의 내용을 0으로 설정합니다.
ZeroMemory 메모리 블록을 0으로 채웁니다.
ZeroVolatileMemory 메모리 블록을 0으로 채웁니다.

데이터 실행 방지 함수

이러한 함수는 DEP(데이터 실행 방지)와 함께 사용됩니다.

함수 설명
GetProcessDEPPolicy 프로세스에 대한 DEP 설정을 검색합니다.
GetSystemDEPPolicy 시스템에 대한 DEP 설정을 검색합니다.
SetProcessDEPPolicy 프로세스에 대한 DEP 설정을 변경합니다.

파일 매핑 함수

이러한 함수는 파일 매핑사용됩니다.

함수 설명
CreateFileMappingA 지정된 파일에 대한 명명되거나 명명되지 않은 파일 매핑 개체를 만들거나 엽니다.
CreateFileMappingW 지정된 파일에 대한 명명되거나 명명되지 않은 파일 매핑 개체를 만들거나 엽니다.
CreateFileMapping2 지정된 파일에 대한 명명되거나 명명되지 않은 파일 매핑 개체를 만들거나 엽니다. 물리적 메모리에 대한 기본 NUMA 노드를 확장 매개 변수로 지정할 수 있습니다. ExtendedParameters 매개 변수를 참조하세요 .
CreateFileMappingFromApp Windows 스토어 앱에서 지정된 파일에 대한 명명되거나 명명되지 않은 파일 매핑 개체를 만들거나 엽니다.
CreateFileMappingNuma 지정된 파일에 대한 명명되거나 명명되지 않은 파일 매핑 개체를 만들거나 열고 실제 메모리에 대한 NUMA 노드를 지정합니다.
FlushViewOfFile 파일의 매핑된 보기 내에서 디스크에 바이트 범위를 씁니다.
GetMappedFileName 지정된 주소가 지정된 프로세스의 주소 공간에서 메모리 매핑된 파일 내에 있는지 여부를 확인합니다. 이 경우 함수는 메모리 매핑된 파일의 이름을 반환합니다.
MapViewOfFile 호출 프로세스의 주소 공간에 매핑되는 파일의 보기를 지도.
MapViewOfFile2 파일 또는 페이지 파일 지원 섹션의 보기를 지정된 프로세스의 주소 공간에 지도.
MapViewOfFile3 파일 또는 페이지 파일 지원 섹션의 보기를 지정된 프로세스의 주소 공간에 지도.
MapViewOfFile3FromApp Windows 스토어 앱에서 호출 프로세스의 주소 공간에 매핑되는 파일 보기를 지도.
MapViewOfFileEx 호출 프로세스의 주소 공간에 매핑되는 파일의 보기를 지도. 호출자는 필요에 따라 보기에 대해 제안된 메모리 주소를 지정할 수 있습니다.
MapViewOfFileExNuma 호출 프로세스의 주소 공간에 매핑되는 파일 뷰를 지도 실제 메모리에 대한 NUMA 노드를 지정합니다.
MapViewOfFileFromApp Windows 스토어 앱에서 호출 프로세스의 주소 공간에 매핑되는 파일 보기를 지도.
MapViewOfFileNuma2 파일 또는 페이지 파일 지원 섹션의 보기를 지정된 프로세스의 주소 공간에 지도.
OpenFileMapping 명명된 파일 매핑 개체를 엽니다.
OpenFileMappingFromApp 명명된 파일 매핑 개체를 엽니다.
UnmapViewOfFile 호출 프로세스의 주소 공간에서 파일의 매핑된 뷰를 매핑 해제합니다.
UnmapViewOfFile2 이전에 매핑된 파일 보기 또는 페이지 파일 지원 섹션의 매핑을 해제합니다.
UnmapViewOfFileEx 이전에 매핑된 파일 보기 또는 페이지 파일 지원 섹션의 매핑을 해제합니다.

AWE 함수

AWE 함수입니다.

함수 설명
AllocateUserPhysicalPages 프로세스의 AWE 지역 내에서 매핑 및 매핑 해제할 실제 메모리 페이지를 할당합니다.
AllocateUserPhysicalPagesNuma 프로세스의 AWE 영역 내에서 매핑 및 매핑 해제할 실제 메모리 페이지를 할당하고 실제 메모리에 대한 NUMA 노드를 지정합니다.
FreeUserPhysicalPages AllocateUserPhysicalPages로 이전에 할당된 실제 메모리 페이지를 해제합니다.
MapUserPhysicalPages 지도 AWE 지역 내의 지정된 주소에 이전에 할당된 실제 메모리 페이지입니다.
MapUserPhysicalPagesScatter 지도 AWE 지역 내의 지정된 주소에 이전에 할당된 실제 메모리 페이지입니다.

힙 함수

이러한 함수는 힙 함수입니다.

함수 설명
GetProcessHeap 호출 프로세스의 힙에 대한 핸들을 가져옵니다.
GetProcessHeaps 호출 프로세스에 유효한 모든 힙에 대한 핸들을 가져옵니다.
HeapAlloc 힙에서 메모리 블록을 할당합니다.
HeapCompact 인접한 사용 가능한 메모리 블록을 힙에 병합합니다.
HeapCreate 힙 개체를 만듭니다.
HeapDestroy 지정된 힙 개체를 제거합니다.
HeapFree 힙에서 할당된 메모리 블록을 해제합니다.
HeapLock 지정된 힙과 연결된 잠금을 획득하려고 시도합니다.
HeapQueryInformation 지정된 힙에 대한 정보를 검색합니다.
HeapReAlloc 힙에서 메모리 블록을 다시 할당합니다.
HeapSetInformation 지정된 힙에 대한 힙 정보를 설정합니다.
HeapSize 힙에서 할당된 메모리 블록의 크기를 검색합니다.
HeapUnlock 지정된 힙과 연결된 잠금의 소유권을 해제합니다.
HeapValidate 지정된 힙의 유효성을 검사하려고 시도합니다.
HeapWalk 지정된 힙의 메모리 블록을 열거합니다.

가상 메모리 함수

가상 메모리 함수입니다.

함수 설명
Dis카드VirtualMemory 메모리를 커밋 해제하지 않고 메모리 페이지 범위의 메모리 내용을 카드. dis카드ed 메모리의 내용은 정의되지 않았으며 애플리케이션에서 다시 작성해야 합니다.
OfferVirtualMemory 메모리 페이지의 범위에 포함된 데이터가 더 이상 애플리케이션에서 필요하지 않으며 필요한 경우 시스템에서 카드 해제할 수 있음을 나타냅니다.
PrefetchVirtualMemory 가상 주소 범위를 실제 메모리로 프리페치합니다.
QueryVirtualMemoryInformation 지정한 프로세스의 가상 주소 공간 내에 있는 페이지 또는 페이지 집합에 대한 정보를 반환합니다.
ReclaimVirtualMemory OfferVirtualMemory를 사용하여 시스템에 제공된 다양한 메모리 페이지를 회수합니다.
SetProcessValidCallTargets CFG에 유효한 간접 호출 대상 목록을 제공하고 유효한 것으로 표시할지 여부를 지정합니다.
VirtualAlloc 호출 프로세스의 가상 주소 공간에서 페이지 영역을 예약하거나 커밋합니다.
VirtualAlloc2 지정된 프로세스의 가상 주소 공간 내에서 메모리 영역의 상태를 예약, 커밋 또는 변경합니다. 함수는 0에 할당하는 메모리를 초기화합니다.
VirtualAlloc2FromApp 호출 프로세스의 가상 주소 공간에서 페이지 영역의 상태를 예약, 커밋 또는 변경합니다. 이 함수에 의해 할당된 메모리는 자동으로 0으로 초기화됩니다.
VirtualAllocEx 지정된 프로세스의 가상 주소 공간에서 페이지 영역을 예약하거나 커밋합니다.
VirtualAllocExNuma 지정된 프로세스의 가상 주소 공간 내에서 메모리 영역을 예약하거나 커밋하고 실제 메모리에 대한 NUMA 노드를 지정합니다.
VirtualAllocFromApp 호출 프로세스의 가상 주소 공간에서 페이지 영역의 상태를 예약, 커밋 또는 변경합니다. 이 함수에 의해 할당된 메모리는 자동으로 0으로 초기화됩니다.
VirtualFree 호출 프로세스의 가상 주소 공간 내에서 페이지 영역을 해제하거나 커밋 해제합니다.
VirtualFreeEx 지정된 프로세스의 가상 주소 공간 내에서 메모리 영역을 해제하거나 커밋 해제합니다.
VirtualLock 프로세스의 가상 주소 공간의 지정된 영역을 실제 메모리에 잠깁니다.
VirtualProtect 호출 프로세스의 가상 주소 공간에서 커밋된 페이지의 영역에 대한 액세스 보호를 변경합니다.
VirtualProtectEx 호출 프로세스의 가상 주소 공간에서 커밋된 페이지의 영역에 대한 액세스 보호를 변경합니다.
VirtualProtectFromApp 호출 프로세스의 가상 주소 공간에서 커밋된 페이지의 영역에 대한 보호를 변경합니다.
Virtualquery 호출 프로세스의 가상 주소 공간에 있는 페이지 범위에 대한 정보를 제공합니다.
VirtualQueryEx 호출 프로세스의 가상 주소 공간에 있는 페이지 범위에 대한 정보를 제공합니다.
VirtualUnlock 프로세스의 가상 주소 공간에서 지정된 범위의 페이지 잠금을 해제합니다.

전역 및 로컬 함수

전역 및 로컬 함수도 참조 하세요. 이러한 함수는 16비트 Windows와의 호환성을 위해 제공되며 DDE(동적 데이터 교환), 클립보드 함수 및 OLE 데이터 개체와 함께 사용됩니다. 설명서에서 전역 또는 로컬 함수를 사용해야 한다고 구체적으로 명시하지 않는 한, 새 애플리케이션은 GetProcessHeap에서 반환된 핸들과 함께 해당 힙 함수를 사용해야 합니다. 전역 또는 로컬 함수와 동일한 기능을 사용하려면 힙 함수의 dwFlags 매개 변수를 0으로 설정합니다.

함수 설명 해당 힙 함수
GlobalAlloc, LocalAlloc 힙에서 지정된 바이트 수를 할당합니다. HeapAlloc
GlobalDis카드, LocalDis카드 지정된 전역 메모리 블록을 카드. 해당 없음.
GlobalFlags, LocalFlags 지정된 전역 메모리 개체에 대한 정보를 반환합니다. 해당 없음. HeapValidate를 사용하여 힙의 유효성을 검사합니다.
GlobalFree, LocalFree 지정된 전역 메모리 개체를 해제합니다. HeapFree
GlobalHandle, LocalHandle 전역 메모리 블록에 대한 지정된 포인터와 연결된 핸들을 검색합니다. 이 함수는 필요한 OLE 및 클립보드 함수에서만 사용해야 합니다. 해당 없음.
GlobalLock, LocalLock 전역 메모리 개체를 잠그고 개체 메모리 블록의 첫 번째 바이트에 대한 포인터를 반환합니다. 해당 없음.
GlobalReAlloc, LocalReAlloc 지정된 전역 메모리 개체의 크기 또는 특성을 변경합니다. HeapReAlloc
GlobalSize, LocalSize 지정된 전역 메모리 개체의 현재 크기를 검색합니다. HeapSize
GlobalUnlock, LocalUnlock 메모리 개체와 연결된 잠금 수를 줄입니다. 이 함수는 필요한 OLE 및 클립보드 함수에서만 사용해야 합니다. 해당 없음.

잘못된 메모리 함수

함수 설명
BadMemoryCallbackRoutine 하나 이상의 잘못된 메모리 페이지가 검색될 때 호출되는 RegisterBadMemoryNotification 함수에 등록된 애플리케이션 정의 함수입니다.
GetMemoryErrorHandlingCapabilities 시스템의 메모리 오류 처리 기능을 가져옵니다.
RegisterBadMemoryNotification 하나 이상의 잘못된 메모리 페이지가 검색될 때 호출되는 잘못된 메모리 알림을 등록합니다.
UnregisterBadMemoryNotification 지정한 잘못된 메모리 알림 핸들을 닫습니다.

Enclave 함수

함수 설명
CreateEnclave 초기화되지 않은 새 enclave를 만듭니다. enclave는 애플리케이션의 주소 공간 내에 있는 코드 및 데이터의 격리된 영역입니다. enclave 내에서 실행되는 코드만 동일한 enclave 내의 데이터에 액세스할 수 있습니다.
InitializeEnclave 데이터로 만들고 로드한 enclave를 초기화합니다.
IsEnclaveTypeSupported 지정된 유형의 enclave가 지원되는지 여부를 검색합니다.
LoadEnclaveData CreateEnclave를 호출하여 만든 초기화되지 않은 enclave에 데이터를 로드합니다.

ATL thunk 함수

함수 설명
AtlThunk_AllocateData ATL 펑크에 대한 메모리 공간을 할당합니다.
AtlThunk_DataToCode AtlThunkData_t 매개 변수에 해당하는 실행 함수를 반환합니다.
AtlThunk_FreeData ATL thunk와 연결된 메모리를 해제합니다.
AtlThunk_InitData ATL thunk를 초기화합니다.

사용되지 않는 함수

이러한 함수는 16비트 버전의 Windows와의 호환성을 위해서만 제공됩니다.

아래 함수는 잘못된 정보를 반환할 수 있으며 사용해서는 안 됩니다. 대신 GlobalMemoryStatusEx 함수를 사용합니다.