Win32 API功能封装
+ -

INI文件的读封装

2021-09-07 54 0

INI文件的读写类封装,可以自动创建INF文件。
简单地封装了获取inf文件相关节的内容。

ini.h

class CIni  
{
public:
    char m_fileName[512];
public:

    CIni::CIni();
    CIni(const char* filename);
    virtual ~CIni();
    UINT GetKeyUint(LPCTSTR section,LPCTSTR key);
    void SetFileName(const char* filename);
    DWORD GetKeyStr(LPCTSTR lpAppName,LPCTSTR lpKeyName, LPTSTR lpReturnedString);

};

ini.cpp

CIni::CIni()
{

}
CIni::CIni(const char* filename)
{
    SetFileName(filename);
}

CIni::~CIni()
{

}


DWORD CIni::GetKeyStr(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPTSTR lpReturnedString)
{
    return ::GetPrivateProfileString(lpAppName,lpKeyName,NULL,lpReturnedString,512,m_fileName);
}

void CIni::SetFileName(const char *filename)
{
    memset(m_fileName,'\0',sizeof(m_fileName));
    strcpy(m_fileName,filename);
}

UINT CIni::GetKeyUint(LPCTSTR section, LPCTSTR key)
{
    return GetPrivateProfileInt(section,key,0,m_fileName);
}

0 篇笔记 写笔记

INI文件的读封装
INI文件的读写类封装,可以自动创建INF文件。简单地封装了获取inf文件相关节的内容。ini.hclass CIni {public: char m_fileName[512];public: CIni::CIni(); CIni(const char* fi......
IoCopyCurrentIrpStackLocationToNext和IoSkipCurrentIrpStackLocation操作的IO_STACK_LOCATION有什么区别
在Windows驱动中,传递IPR一般有两种操作:一种是调用IoSkipCurrentIrpStackLocation,表示跳过本层驱动的操作,直接转发至下层: IoSkipCurrentIrpStackLocation(Irp); return IoCallDriver(FDODeviceEx......
WDDM KMDOD驱动介绍及驱动初始化
KMOD驱动是微软提供的一个Display Only驱动。WDDM KMOD驱动初始化Windows驱动的入口函数是DriverEntry,所以显示Mini小端口驱动程序也不例外。和其它Mini小端口驱动的入口函数实现一致,在其DriverEntry只做一件事,就是分配系统指定的一个结构体,然后......
WDDM 子设备的枚举过程
这里的子设备指的是显示适配器(display adapter)的子设备。显示适配器子设备的枚举是通过显示端口驱动程序(display port driver), 显示Mini端口驱动程序(display miniport driver), and video present network (Vi......
WDDM 与XDDM开发的区别
和XDDM驱动开发一样,在新的WDDM驱动模型架构下,需要编写与之适配的Mini小端口驱动。和XDDM驱动不一致的是,WDDM的显示驱动运行于应用层,并且其不使用GDI引擎,而是使用的是Direct3D 运行时库和DirectX图形内核子系统(Dxgkrnl.sys).WDDM与XDDM开发的区......
Win10和Win7驱动_security_init_cookie蓝屏兼容问题
今天使用VS2019+WDK10写了一个简单的64驱动,在Win7系统下安装时出现了蓝屏问题。使用windbg进行栈回溯,发现出现蓝屏的方法是发生在调用驱动入口函数DriverEntry之前。RetAddr : Call Sitefffff880`030ba015 : byt......
PortClass提供的音频MINI端口驱动
PortClass提供了以下几种MiniPort驱动类型。Cyclic DMA wave input and output:此类Mini端口驱动程序支持访问ISA和其他声卡的基于DMA的wave I/O功能。接口专门处理循环(autoinit)DMA缓冲区,流问题由端口驱动程序解决。Scatt......
PortClass InitializeAdapterDriver函数
InitializeAdapterDriver函数是PortClass驱动DriverEntry调用的第一个函数,也是惟一的函数。该函数的功能和其它的MINI小端口驱动一样,都是初始化相应的MIN小端口驱动框架的“结构体”,并使用系统提供的类驱动的回调函数来初始化相应的IRP回调函数,而我们函数的第......
PortClass IMiniportTopology拓扑结构的实现
需要实现IMiniportTopology的为:class Topology: public IMiniportTopology, public CUnknown{};当然Topology和WaveCyclic类为了实现上图的拓结构图,需要返回相应的拓结连接关系图,系统会调......
PortClass IMiniportWaveCyclic拓扑结构的实现
需要实现IMiniportWaveCyclic的类分别为:class WaveCyclic: public IMiniportWaveCyclic, public CUnknown{};当然WaveCyclic类为了实现上图的拓结构图,需要返回相应的拓结连接关系图,系统......
PortClass IMiniportWaveCyclicStream
IMiniportWaveCyclicStream接口表示流经WaveCyclicFilter上引脚的音频流。该过滤器包装了WaveCycle渲染或捕获设备,并通过将WaveCycle端口驱动程序与WaveCycle微型端口驱动程序配对来实现。需要实现IMiniportWaveCyclicStre......
ASIO 初始化函数ASIOInit
ASIOInit();初始化应用程序使用的驱动程序。可选择获取硬件或加载其他驱动程序组件ASIOError ASIOInit(ASIODriverInfo *info);其调用关系统如下:int main(int argc, char* argv[]){ // load the d......
ASIO 获取音频参数init_asio_static_data函数
要打开音频设备,总得先获取参数吧。比如UAC设备,在打开MIC时,系统会通过特定类请求设置采样率,这样固件会源源不断地通过此采样率获取音频数据,然后通过USB要同步传输将数据发送给主机。在ASIO中,获取ASIO设备的参数有几个函数,详情可见:ASIO 函数功能介绍 。ASIO的测试用例是通过in......
COM库的初始化CoInitialize
调用COM库函数之前,必须调用COM库的初始化函数:HRESULT CoInitialize(IMalloc *pMalloc);HRESULT CoInitialize( [in, optional]IMalloc *pMalloc);pMalloc用于指定一个内存分配器,可由应用程序指......
ntifs.h(85) : error C2371:PEPROCES: redefinition; different basic types Wdm.h、Ntddk.h 和 Ntifs.h头文件包含结构
在做windows驱动时,有时由于引用头文件不当,会引起头文件中的重定义而引起编译失败。'PEPROCESS' : redefinition; different basic typesc:winddk6000incddktifs.h(85) : error C2371: &am......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!