小编Ste*_*san的帖子

用户模式和内核模式之间的共享内存

我正在为Windows7编写一些内核端代码来访问在用户模式下创建的共享内存,如此处所示.
共享内存在用户空间中创建,名称为:

"MySharedMem"
Run Code Online (Sandbox Code Playgroud)

在用户空间中打开共享内存有效.
在内核模式下打开相同的共享内存调用 ZwOpenSection失败返回:

#define STATUS_OBJECT_NAME_NOT_FOUND     ((NTSTATUS)0xC0000034L)
Run Code Online (Sandbox Code Playgroud)

内核代码是:

NTSTATUS CModule1::OpenShared()
{
SIZE_T vs = 256;
WCHAR stringBuffer[] =  L"\\BaseNamedObjects\\MySharedMem";
UNICODE_STRING  sectionName;

RtlInitUnicodeString(&sectionName,stringBuffer);

OBJECT_ATTRIBUTES myAttributes;

InitializeObjectAttributes(&myAttributes,&sectionName,0,NULL,NULL);
NTSTATUS status0 = ZwOpenSection(&sectionHandle_,SECTION_MAP_READ|SECTION_MAP_WRITE,&myAttributes);

NTSTATUS status = ZwMapViewOfSection(&sectionHandle_, ZwCurrentProcess(), (PVOID *)&pSharedData_, 0, 0, NULL, &vs, ViewShare, 0, PAGE_READWRITE); 
return status;
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几个名字(L"\\MySharedMem"L"MySharedMem"),但我得到了其他错误STATUS_OBJECT_PATH_INVALIDSTATUS_OBJECT_PATH_NOT_FOUND.
同时创建共享内存"Global\\MySharedMem"不起作用.

我究竟做错了什么?

我尝试在内核模式下创建共享内存,我获得了成功ZwCreateSection,ZwMapViewOfSection但是当我访问pSharedData_指针来测试缓冲区时,我得到了访问冲突:

NTSTATUS CModule1::MapUserSection()
{
typedef struct SHARED_SECTION {DWORD i; };
NTSTATUS status …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi shared-memory kernel32

9
推荐指数
1
解决办法
1784
查看次数

覆盆子相机错误:"mmal:没有从传感器收到数据"

我以前成功使用过我的覆盆子相机.现在我再次尝试使用raspistill -o image.jpg命令获取图像; 相机上的红色指示灯闪烁,但我收到此错误:

mmal: No data received from sensor. 
Check all connections, including the Sunny one on the camera board
Run Code Online (Sandbox Code Playgroud)

当然相机连接很好.有没有其他方法来检查相机是否仍在工作?

camera raspberry-pi

8
推荐指数
2
解决办法
2万
查看次数

electro.atom.io 和共享内存

我想使用 Electron 为桌面应用程序构建一个 Windows gui,该应用程序显示在另一个桌面进程中获取的图像(即 25 兆像素图像大小)。
图像数据可以存储在共享内存中
我可以从电子渲染进程访问共享内存吗?
如果我从电子主进程访问,我读到主/渲染进程之间的 ipc 不适合传输如此大量的数据。

shared-memory electron

5
推荐指数
1
解决办法
1373
查看次数

每天过滤熊猫数据框

我有一个熊猫数据框,其中包含以分钟为单位的外汇数据,为期一年(371635行):

                           O        H        L        C
0                                                      
2017-01-02 02:00:00  1.05155  1.05197  1.05155  1.05190
2017-01-02 02:01:00  1.05209  1.05209  1.05177  1.05179
2017-01-02 02:02:00  1.05177  1.05198  1.05177  1.05178
2017-01-02 02:03:00  1.05188  1.05200  1.05188  1.05200
2017-01-02 02:04:00  1.05196  1.05204  1.05196  1.05203
Run Code Online (Sandbox Code Playgroud)

我想过滤每日数据以获取一个小时范围:

dt = datetime(2017,1,1)
df_day = df1[df.index.date == dt.date()]
df_day_t = df_day.between_time('08:30', '09:30')   
Run Code Online (Sandbox Code Playgroud)

如果我进行for200天循环,则需要几分钟。我怀疑这条线的每一步

df_day = df1[df.index.date == dt.date()] 
Run Code Online (Sandbox Code Playgroud)

正在寻找数据集中每一行的相等性(即使它是有序数据集)。

有什么办法可以加快过滤速度,还是应该在for1月到12月之间做一些古老的命令式循环...?

python performance datetime pandas pandas-groupby

5
推荐指数
1
解决办法
976
查看次数

重新构建 vcpkg,无需再次安装

我已经安装了 vcpkg 软件包vcpkg install shogun:x64-windows。构建失败,我需要更改文件来修复它。
如果没有覆盖我的更改的选项,如何重建包install
我在文件夹中找不到任何 VC 项目vcpkg\buildtrees\shogun\x64-windows-<configuration>\src\shogun

visual-studio shogun vcpkg

5
推荐指数
1
解决办法
6682
查看次数

如何在Android Studio项目中添加类路径

我有一个Android项目,其Android应用程序依赖于纯Java库(而Java库使用其他一些编译的jar库).
我添加了依赖项,我可以构建项目,但在运行时我有一个ClassNotFoundException错误.
我不得不在CLASSPATH环境变量中添加jar的路径.
有没有办法只在本地为项目设置类路径,就像使用命令行选项一样

java –classpath <path to the jars>
Run Code Online (Sandbox Code Playgroud)

在Android工作室运行/调试配置?

java android classpath

4
推荐指数
1
解决办法
3万
查看次数

如何从RealSense相机中提取云点?

我正在使用英特尔® 实感 ™设备和RSSDK.
我也开始查看PCL库.
点云对象跟踪以某种方式隐藏在MetaioTrackerToolbox下方.
我想从RealSense相机获得实时数据云点,并将它们与PCL库一起使用.有谁知道如何从RealSense相机中提取云点以与PCL库一起使用(我刚发现这个,但它需要移植到RSSDK)?

3d intel point-cloud-library realsense

4
推荐指数
1
解决办法
6085
查看次数

stl::带原始指针的迭代器

我想对 C++ 数组使用迭代器,但也要使用原始指针。我可以使用静态向量:

#define SIZE 10
int vect[SIZE] = {0};
vect[3] = 5;
int* p = std::find(std::begin(vect), std::end(vect), 5);
bool success = p != std::end(vect);
Run Code Online (Sandbox Code Playgroud)

如何使用原始指针(可能是堆分配的向量)来做到这一点?当然编译器不知道数据的大小,所以这段代码

int* pStart = vect;
std::find(std::begin(pStart), std::end(pStart), 5);
Run Code Online (Sandbox Code Playgroud)

error C2784: '_Ty *std::begin(_Ty (&)[_Size])' : 
could not deduce template argument for '_Ty (&)[_Size]' from 'int *'
Run Code Online (Sandbox Code Playgroud)

是否有可能做出begin()end()意识到它?

c++ pointers stl

3
推荐指数
2
解决办法
4924
查看次数