---
title: kupl_mlock
description: "锁住buffer所在的内存页表。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_068.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_068.html
indexId: 207425ea9b3d975766fdec09d7604edba38d745c73cbaddaf8ca8afa90e2f64367
---
# kupl_mlock

锁住buffer所在的内存页表。

#### 接口定义

int kupl_mlock(void *buffer, size_t count);


#### 参数


**表1 参数定义**

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| buffer | void\* | 需要锁定的内存指针 | 输入 |
| count | size\_t | 需要锁定的内存大小 | 输入 |


#### 返回值

- 成功：返回KUPL_OK
- 失败：返回KUPL_ERROR


#### 示例

```
#include <stdio.h> 
#include <stdlib.h>
#include "kupl.h" 

int main() 
{ 
    int len = 1024; 
    char *data = (char *)malloc(len);
    if (data == nullptr) {
        return 0;
    }
    kupl_mlock(data, len);
    kupl_munlock(data, len);
    free(data);
    return 0; 
}
```

- 上述示例演示了申请内存、锁住内存、取消锁定并最终释放内存的流程。
- 上述kupl_mlock函数用于锁住data指向的内存。
- kupl_mlock函数会锁住内存。其中环境中包含sdma设备是成功锁住内存的必要条件。
