小编Ben*_*min的帖子

我在哪里可以获得Windows检查版本?

我正在开发一个文件系统驱动程序.
我使用免费构建Windows作为目标机器.
如果我能得到一个经过检查的Windows版本,我想我会更方便.不是吗

但即使我能得到它,我也不知道.需要花费吗?
当我使用它时,我可以获得什么好处.

windows debugging kernel device-driver

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

如何从管理进程作为当前用户权限运行进程

当安装程序(由Inno Setup构建)启动进程时,该进程始终以管理员权限运行. - 因为安装程序已作为管理员运行.

我想将子进程作为当前用户的权限运行.
有好办法吗?

windows winapi manifest windows-security windows-vista

2
推荐指数
1
解决办法
5546
查看次数

在本机代码中使用 Windows 环境变量

// I have a permission to create a file to Program Files
const std::wstring sFileName = L"%ProgramFiles%\\aaa.txt";
HANDLE h = CreateFileW(
  sFileName.c_str(),
  GENERIC_READ,
  FILE_SHARE_DELETE,
  0,
  CREATE_ALWAYS,
  0,
  0);
// INVALID_HANDLE_VALUE with ERROR_PATH_NOT_FOUND
Run Code Online (Sandbox Code Playgroud)

我预计它会使C:\Program Files\aaa.txtC:\Program Files (x86)\aaa.txt取决于操作系统的环境。但它没有用。
怎么了?如何在本机代码中使用环境变量?

windows winapi environment-variables

2
推荐指数
1
解决办法
2413
查看次数

你什么时候使用container_of宏?

我知道宏的作用.

在许多内核级代码中,它通常用于遍历链表.

我想找到其他有用的案例.
你什么时候使用container_of或CONTAINING_RECORD宏?
什么时候宏非常有用?

c macros kernel device-driver linux-kernel

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

为什么Hadoop文件系统不支持随机I/O?

像Google File System和Hadoop这样的分布式文件系统不支持随机I/O.
(它不能修改之前写过的文件.只能编写和附加.)

他们为什么设计这样的文件系统?
设计的重要优势是什么?

PS我知道Hadoop将支持修改写入的数据.
但是他们说,它的表现会非常不好.为什么?

filesystems file-io hadoop distributed-system gfs

2
推荐指数
1
解决办法
4746
查看次数

如何删除这个简单代码中的重复?

AppendLastSlashIfNotExist我有一个功能.
今天,我决定再做一个功能AppendLastBackSlashIfNotExist

wstring AppendLastSlashIfNotExist(__in const wstring& path)
{
    if (path == L"/")
    {
        return path;
    }

    if (path.size() == 0 || path[path.size() - 1] != L'/')
    {
        return path + L"/";
    }
    return path;
}

wstring AppendLastBackSlashIfNotExist(__in const wstring& path)
{
    if (path == L"\\")
    {
        return path;
    }

    if (path.size() == 0 || path[path.size() - 1] != L'\\')
    {
        return path + L"\\";
    }
    return path;
}
Run Code Online (Sandbox Code Playgroud)

是的,很糟糕.只有Slash - > BackSlash才是变化.我想删除重复.

wstring AppendLastSlashIfNotExist(__in const wstring& …
Run Code Online (Sandbox Code Playgroud)

c++ refactoring design-patterns code-duplication

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

在Ruby on Rails中仅接受HTTPS请求

对于某些操作,我只想接受HTTPS请求.
这是我的第一个代码,但我认为有更好的方法.

before_filter :reject_http_request, :only => [:fucntion_a, :function_b]

def reject_http_request
  scheme = request.protocol.to_s.downcase
  if scheme == 'http://'
    raise AccessDeniedException.new("Not allowed protocol scheme")
  end
  true
end
Run Code Online (Sandbox Code Playgroud)

我该如何改进这段代码?

ruby ruby-on-rails

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

SysInternal的WinObj设备列表机制

SysInternals的WinObj可以列出所有设备对象.

我想知道它如何列出设备.

我们可以阅读任何开源吗?(或代码片段)

我应该知道的最重要的功能是什么?

windows operating-system device-driver systems-programming

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

cppcheck 的警告,“隐藏具有相同名称的 typedef”

这是一条cppcheck警告消息。
变量 'BUFFER_INFO' 隐藏同名的 typedef

BUFFER_INFO 定义如下。

typedef struct tagBufferInfo
{
    CRITICAL_SECTION cs;
    Buffer* pBuffer1;
    Buffer* pBuffer2;
    Buffer* pLoggingBuffer;
    Buffer* pSendingBuffer;
}BUFFER_INFO, *PBUFFER_INFO;
Run Code Online (Sandbox Code Playgroud)

我写道,

PBUFFER_INFO p = new BUFFER_INFO; // causes the warning.
Run Code Online (Sandbox Code Playgroud)

问题是什么?我该如何解决?
谢谢。

c++ static-analysis cppcheck

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

CreatePushNotificationChannelForApplicationAsync抛出0x880403E9错误

我正在制作Windows Phone 8.1(winrt风格)应用程序并陷入有关PushNotification的问题.

await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
Run Code Online (Sandbox Code Playgroud)

此函数返回PushNotificationChannel,通常效果很好.但在某些设备中,此功能会引发0x880403E9错误.

MSDN说,

0x880403E9由于早期的网络连接更改,通知平台正在重新连接回WNS云.应用应稍后使用指数退避策略重试频道请求.

我认为重试请求永远无法解决这个问题.该函数始终抛出异常.一个月内.我们甚至实施了指数重试策略.
更糟糕的是,我们破碎的设备之前的功能运行良好.但是一旦它被神秘的理由打破了(?),它就永远无法自我修复. - 我们第一次遇到这个问题,我们对设备进行了出厂设置并修复了问题.但在其他设备中,重置不是解决方案.

有人说更新最新版本可能会解决这个问题,但事实并非如此.即使在Windows Phone 8.1 Update 1(8.10.14157.200)中,问题仍然存在.

有没有人知道这个问题?

push-notification windows-runtime windows-phone-8.1

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

为什么InterlockedCompareExchange不返回更改的值?

LONG __cdecl InterlockedCompareExchange(
  __inout  LONG volatile *Destination,
  __in     LONG Exchange,
  __in     LONG Comparand
);
Run Code Online (Sandbox Code Playgroud)

返回值
函数返回Destination参数的初始值。

只是好奇。
为什么InterlockedCompareExchange返回初始值?他们这样做是有原因的吗?

windows winapi synchronization atomic interlocked

0
推荐指数
1
解决办法
4230
查看次数