Macos 如何覆盖DriverKit OSData内部缓冲区的部分?
的文档中说“…您可以向其中添加字节并覆盖字节数组的部分。”。我可以看到一个将字节转换为字节的方法,但我不明白如何覆盖缓冲区的一部分 另一个选项是使用Macos 如何覆盖DriverKit OSData内部缓冲区的部分?,macos,driverkit,macos-system-extension,Macos,Driverkit,Macos System Extension,的文档中说“…您可以向其中添加字节并覆盖字节数组的部分。”。我可以看到一个将字节转换为字节的方法,但我不明白如何覆盖缓冲区的一部分 另一个选项是使用IONewZero来分配我所需类型的大量元素。我的情况是,我只需要这个ints 例如: T* dataBuffer = IONewZero(T, SIZE); 然后取消分配: IOSafeDeleteNULL(dataBuffer_, T, SIZE); 与使用IONewZero/IOSafeDeleteNULL的解决方案相比,使用OSData对
IONewZero
来分配我所需类型的大量元素。我的情况是,我只需要这个int
s
例如:
T* dataBuffer = IONewZero(T, SIZE);
然后取消分配:
IOSafeDeleteNULL(dataBuffer_, T, SIZE);
与使用
IONewZero
/IOSafeDeleteNULL
的解决方案相比,使用OSData
对象的优势是什么?我认为文档可能只是从OSData
的内核变量复制粘贴而来的。我在很多地方都见过,尤其是在美国
OSData
对于处理类似于plist的数据结构(即设置和获取服务对象的属性)以及其他ostype非常有用:OSArray
,OSDictionary
,OSNumber
,等等。它还用于带内存储(