日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[FAQ]VC读取数据源列表和驱动程序列表

發(fā)布時(shí)間:2024/4/15 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [FAQ]VC读取数据源列表和驱动程序列表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
讀注冊(cè)表???
???
數(shù)據(jù)源信息存放在??
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI???
????
驅(qū)動(dòng)程序信息存放在???
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI??

附:

????HKEY?hKey;
????RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\ODBC\\ODBC.INI",0,KEY_READ,&hKey);
????
????DWORD?dwSubKeyCount,dwMaxSubKeyNameLength;
????RegQueryInfoKey(hKey,NULL,NULL,NULL,
&dwSubKeyCount,&dwMaxSubKeyNameLength,NULL,NULL,NULL,NULL,NULL,NULL);
????
????
long?index?=?0;

????
char*?szSubKeyName?=?new?char[dwMaxSubKeyNameLength+1];
????DWORD?dwSubKeyName;
????
for?(index=0;index<(long)dwSubKeyCount;index++)
????
{
????????RegEnumKeyEx(hKey,index,szSubKeyName,
&dwSubKeyName,NULL,NULL,NULL,NULL);
????}

????RegCloseKey(hKey);

????RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\ODBC\\ODBC.INI\\ODBC?Data?Sources",0,KEY_READ,&hKey);
????
????DWORD?dwValueCount,dwMaxValueNameLength;
????RegQueryInfoKey(hKey,NULL,NULL,NULL,NULL,NULL,NULL,
&dwValueCount,&dwMaxValueNameLength,NULL,NULL,NULL);????
????
????
char*?szValueName?=?new?char[dwMaxValueNameLength+1];
????DWORD?dwValueName;

????
for?(index=0;index<(long)dwValueCount;index++)
????
{
????????RegEnumValue(hKey,index,szValueName,
&dwValueName,NULL,NULL,NULL,NULL);
????}


????RegCloseKey(hKey);


????hKey?
????當(dāng)前打開鍵的句柄或下列預(yù)定義保留的句柄值:?
????HKEY_CLASSES_ROOT
????HKEY_CURRENT_CONFIG
????HKEY_CURRENT_USER
????HKEY_LOCAL_MACHINE
????HKEY_USERS

????samDesired?
????制定一個(gè)訪問標(biāo)記以描述訪問新鍵的安全性
????此參數(shù)可以是下列值的一個(gè)聯(lián)合?
????KEY_ALL_ACCESS
????KEY_QUERY_VALUE,?KEY_ENUMERATE_SUB_KEYS,?KEY_NOTIFY,?KEY_CREATE_SUB_KEY,?KEY_CREATE_LINK,?和?KEY_SET_VALUE?訪問的聯(lián)合.?
????KEY_CREATE_LINK
????允許創(chuàng)建嚴(yán)格符號(hào)的鏈接.?
????KEY_CREATE_SUB_KEY
????允許創(chuàng)建子鍵.?
????KEY_ENUMERATE_SUB_KEYS
????允許枚舉子鍵.?
????KEY_EXECUTE
????允許讀訪問.?
????KEY_NOTIFY
????允許改變通知.?
????KEY_QUERY_VALUE
????允許查詢子鍵的數(shù)據(jù).?
????KEY_READ
????KEY_QUERY_VALUE,?KEY_ENUMERATE_SUB_KEYS,?和?KEY_NOTIFY?訪問的聯(lián)合.?
????KEY_SET_VALUE
????允許設(shè)置子鍵的數(shù)據(jù).?
????KEY_WRITE
????KEY_SET_VALUE?和?KEY_CREATE_SUB_KEY?訪問的聯(lián)合.?


????LONG?RegOpenKeyEx(
????HKEY?hKey,????????????????????????
//?待打開的鍵的句柄
????LPCTSTR?lpSubKey,????????????????//?待打開的子鍵名稱的地址
????DWORD?ulOptions,????????????????//?保留的,必須為0.?
????REGSAM?samDesired,????????????????//?安全訪問標(biāo)記
????PHKEY?phkResult????????????????????//?待打開的鍵的句柄的地址
????);

????LONG?RegQueryInfoKey(
????HKEY?hKey,????????????????????????
//?待查詢的鍵的句柄
????LPTSTR?lpClass,????????????????????//?類字符串緩沖器地址
????LPDWORD?lpcbClass,????????????????//?類字符串緩沖器大小的地址
????LPDWORD?lpReserved,????????????????//?保留的,必須為?NULL.
????LPDWORD?lpcSubKeys,????????????????//?子鍵數(shù)目緩沖器的地址
????LPDWORD?lpcbMaxSubKeyLen,????????//?最長的子鍵名稱長度緩沖器的地址
????LPDWORD?lpcbMaxClassLen,????????//?最長的類字符串長度緩沖器的地址
????LPDWORD?lpcValues,????????????????//?值項(xiàng)數(shù)目緩沖器的地址
????LPDWORD?lpcbMaxValueNameLen,????//?最長的值名稱長度緩沖器的地址
????LPDWORD?lpcbMaxValueLen,????????//?最長的值數(shù)據(jù)長度緩沖器的地址
????LPDWORD?lpcbSecurityDescriptor,????//?安全描述符長度緩沖器的地址
????PFILETIME?lpftLastWriteTime????????//?最近寫入時(shí)間緩沖器的地址
????);

????LONG?RegEnumKeyEx(
????HKEY?hKey,????????????????????????
//?待枚舉的鍵的句柄
????DWORD?dwIndex,????????????????????//?待枚舉的子鍵的索引
????LPTSTR?lpName,????????????????????//?子鍵名稱緩沖器的地址
????LPDWORD?lpcbName,????????????????//?子鍵緩沖器大小的地址
????LPDWORD?lpReserved,????????????????//?保留的,必須為?NULL.
????LPTSTR?lpClass,????????????????????//?類字符串緩沖器的地址
????LPDWORD?lpcbClass,????????????????//?類緩沖器大小的地址
????PFILETIME?lpftLastWriteTime????????//?鍵的最近寫入時(shí)間的地址
????);

總結(jié)

以上是生活随笔為你收集整理的[FAQ]VC读取数据源列表和驱动程序列表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。