小编Ale*_*ruC的帖子

CoInitializeSecurity错误

我有一个加载1.dll和1.dll加载1_1.dll的.exe。在.exe中,我创建了多个线程,从其中一个调用了一个函数,该线程调用了一个1.dll函数,而在其他事情之间..则从1_1.dll调用了一个函数,但这样做失败:

//  Initialize COM.
    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
    if( FAILED(hr) )
    {
        //m_iStatus = ERROR_COINITIALIZE_EX;
        return;
    }
    //  Set general COM security levels.
    hr = CoInitializeSecurity(
        NULL,
        -1,
        NULL,
        NULL,
        RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
        RPC_C_IMP_LEVEL_IMPERSONATE,
        NULL,
        0,
        NULL);
    if( FAILED(hr) )
    {
        CoUninitialize();
        //m_iStatus = ERROR_COINITIALIZE_SEC;
        return;
    }
Run Code Online (Sandbox Code Playgroud)

它使用以下消息在对CoInitializeSecurity的调用中失败:

必须先对安全性进行初始化,然后再对任何接口进行编组或取消编组。初始化后便无法更改。

谁能解释我这里发生的事情,我做错了什么以及应该如何解决?

windows com visual-c++

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

c# windows 服务的配置文件

我有这个配置文件:

   <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="AuxAppStg0" value="5 iunie 2013 19:22:49" />
        <add key="AuxAppStg1" value="5 iunie 2013 00:00:00" />
        <add key="AppStg2" value="5 iunie 2013 19:23:04" />
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我想使用以下代码解析它:

 // Get the configuration file.
        System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

        // Get the appSettings section.
        System.Configuration.AppSettingsSection appSettings =
            (System.Configuration.AppSettingsSection)config.GetSection("appSettings");



        foreach (KeyValueConfigurationElement i in appSettings.Settings)
        {

            Console.WriteLine("Key: {0} Value: {1}", i.Key, i.Value);
        }

        if (appSettings.Settings.Count != 0)
        {
            foreach (string key in appSettings.Settings.AllKeys)
            {
                string value = appSettings.Settings[key].Value;
                Console.WriteLine("Key: {0} Value: {1}", …
Run Code Online (Sandbox Code Playgroud)

c# windows windows-services

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

在WTL中实现自定义绘制控件中的滚动

我已经创建了我自己的自定义绘制列表与复选框WTL,我想让它现在可滚动,事情是,我正在子类化我绘制的静态文本控件..我不知道静态控件是否支持任何滚动方式..无论如何我的问题是如何使我的自定义控件可滚动,我是否必须自己强制机制?

winapi wtl atl visual-c++

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

CAppModule与CAtlExeModuleT,获取应用程序消息循环

我试图从我的项目中的ATL :: CAppModule获取消息循环,似乎没有,所以:

  • 我试着定义CAppModule,用extern CAppModule _Module;"stdafx.h"CAppModule _Module;我的.cpp文件,汇编,linkes并在执行注册步骤我得到断言atlbase.h这里 ATLASSERT(_pAtlModule == NULL); 这意味着CAppModule已声明.

但我似乎无法找到另一个CAppModule实例,而是看到CAtlExeModuleT实例化(它不是我的代码..).

现在..从我搜索过的内容中我找不到从CAtlExeModuleT对象获取消息循环的方法.他们是不同的东西还是我错过了什么?

c++ winapi wtl atl

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

更改语言时 VS 2008 资源类型错误

在将我的 Visual Studio 项目中的资源元素的语言从英语更改为阿塞拜疆时,我收到此错误:

错误 RC2144:主要语言 ID 不是数字

那行是:

LANGUAGE LANG_AZERI_CYRILLIC, SUBLANG_AZERI_CYRILLIC
Run Code Online (Sandbox Code Playgroud)

这里发生了什么事?

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#include <windows.h>
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "winres.h"
Run Code Online (Sandbox Code Playgroud)

windows winapi mfc visual-c++

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

c#File.Exists在不存在的文件上返回true

我试图检测文件的存在,我正在使用C#的System.IO.File.Exists函数,所以,如果我这样做,File.Exists("file.txt");它返回TRUE,虽然文件不存在!这里发生了什么?

c#

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

首次尝试Haskell:将小写字母转换为大写字母

我最近开始学习Haskell,我已经尝试创建一个函数,以便将小写单词转换为大写单词,它可以工作,但我不知道它有多好,我有一些问题.码:

lowerToUpperImpl element list litereMari litereMici = 
 do
  if not (null  list) then
   if (head list) == element then
     ['A'..'Z'] !! (length ['A'..'Z'] - length (tail list ) -1)
   else
     lowerToUpperImpl element (tail list) litereMari litereMici
  else
    '0' --never to be reached

lowerToUpper element = lowerToUpperImpl element ['a'..'z'] ['A'..'Z'] ['a'..'z']

lowerToUpperWordImpl word  = 
 do 
  if not (null word) then
   lowerToUpper (head (word)):(lowerToUpperWordImpl (tail word))
  else
   ""
Run Code Online (Sandbox Code Playgroud)
  1. 我不喜欢我传递大写和小写字母的方式,我不能只声明一个全局变量或什么?
  2. 你的方法是什么填补死其他分支?

你对改善这个问题的建议是什么?

haskell functional-programming

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

测试是否已在python中获取锁

我有Python 2.7.3.我试图使用Lock对象只允许我的脚本的一个实例一次运行.我在用:

from mutiprocessing import Lock
lock = Lock()
if lock.locked() == False:
    lock.acquire()
    lock.release()
Run Code Online (Sandbox Code Playgroud)

正如我在这里看到 但我得到这个错误:

if lock.locked():
AttributeError: 'Lock' object has no attribute 'locked'
Run Code Online (Sandbox Code Playgroud)

python locking

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

获取BIOS程序集中的存储设备信息

如何使用8086程序集从BIOS获取有关连接到PC(软盘,HDD,USB磁盘驱动器,闪存驱动器)的存储设备的信息.我正在使用VS 2008.你能指点我参考书或一些信息吗?我想检测所有工作这样的设备,并能够读取和写入它们.谢谢.

c assembly bios inline-assembly

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

使用 PoDoFo lib 从 PDF 运算符中的数组 TJ 中提取文本

我正在尝试使用 PoDoFo 库从 PDF 文件中提取文本,它适用于Tj运算符,但无法用于(数组)TJ 运算符。我已经找到这段代码(我的小修改)在这里

 const char*      pszToken = NULL;
    PdfVariant       var;
    EPdfContentsType eType;

    PdfContentsTokenizer tokenizer( pPage );

    double dCurPosX     = 0.0;
    double dCurPosY     = 0.0;
    double dCurFontSize = 0.0;
    bool   bTextBlock   = false;
    PdfFont* pCurFont   = NULL;

    std::stack<PdfVariant> stack;



while( tokenizer.ReadNext( eType, pszToken, var ) )
{

    if( eType == ePdfContentsType_Keyword )
    {
        // support 'l' and 'm' tokens

        _RPT1(_CRT_WARN, " %s\n", pszToken);

        if( strcmp( pszToken, "l" ) == 0 || 
            strcmp( …
Run Code Online (Sandbox Code Playgroud)

c c++ pdf podofo

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