用 CreateNewPseudoWindows 和 CreateNewOfflineStore 创建 Store

179 篇文章 0 订阅
86 篇文章 0 订阅

CreateNewPseudoWindows CreateNewOfflineStore 创建 Store

 

创建 Store 需要用到 CreateNewOfflineStore 函数,有四个参数:

   _In_  DWORD dwFlags,
    _In_ PCOFFLINE_STORE_CREATION_PARAMETERS pParameters,
    _In_ REFIID riid,
    _Out_ IUnknown **ppStore,
    _Out_opt_  DWORD *pdwDisposition
第一个参数为标志,0 1

第二个参数 OFFLINE_STORE_CREATION_PARAMETERS 类型,很复杂,因此,需要用到另外一个函数去创建

第三个参数 a817521b_2b43_489f_8b84_67aceeab24a8

第四个为输出参数,返回 CComponentStore CComponentStore_IStore vftable

 

创建 OFFLINE_STORE_CREATION_PARAMETERS 类型的对象,需要用到CreateNewPseudoWindows 函数,它也有四个参数:

   _In_  DWORD dwFlags,
    _In_opt_  LPCWSTR pszDirectoryRoot,
    _In_opt_  LPCWSTR pszRegistryRoot,
    _Inout_  POFFLINE_STORE_CREATION_PARAMETERSpParameters);
第一个参数为标志,0 1

第二个参数为保存 Store 的根目录,比如,C:\CSITEST

第三个参数为保存 Store 的根键,比如,HKCU\CSITEST

目录和键应先创建

第四个为输出参数,把相应的值填到了 OFFLINE_STORE_CREATION_PARAMETERS对象。因为,是先创建再赋值,可以保证结果的正确。

0x00000038
0x00000000
0x00502850 L"C:\\CSITEST\\system_volume"
0x004fe948 L"C:\\CSITEST\\boot_volume\\WinLH"
0x00507cb0 L"b:\\WinLH\\"
0x0050af28L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\SOFTWARE"
0x0050afe8L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\SYSTEM"
0x0050b0a8L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\SECURITY"
0x0050b168 L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\SAM"
0x0050b220L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\Components"
0x0050b2e8 L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\User\\.Default"
0x0050b3a8L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\User\\Template"
0x00000000
0x0050b468L"HKEY_USERS\\S-1-5-21-1293183473-3062865270-1199649827-1001\\CSITEST\\Registry\\Machine\\Schema"

 

OFFLINE_STORE_CREATION_PARAMETERS pParameters = { sizeof(pParameters) };

pCreateNewPseudoWindows(0, L"C:\\CSITEST", L"HKCU\\CSITEST", &pParameters);

IUnknown *ppStore;

DWORD d = 0;

pCreateNewOfflineStore(1, &pParameters, IID_OfflineStore, &ppStore, &d);

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值