메모리 관리 함수
- 일반 메모리 함수
- 데이터 실행 방지 함수
- 파일 매핑 함수
- AWE 함수
- 힙 함수
- 가상 메모리 함수
- 전역 및 로컬 함수
- 잘못된 메모리 함수
- Enclave 함수
- ATL thunk 함수
- 사용되지 않는 함수
일반 메모리 함수
함수 | 설명 |
---|---|
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 함수를 사용합니다.