ISpRegDataKey::SetKey (Windows CE 5.0)
This method sets the hive registry key (HKEY) to use for subsequent token operations.
HRESULT SetKey( HKEY hkey, BOOL fReadOnly);
Parameters
- hkey
[in] The registry key. - fReadOnly
[in] Value indicating the read/write status of the key. Set this value to TRUE for read-only status, and to FALSE for read/write status.
Return Values
The following table shows the possible return values.
Value | Description |
---|---|
S_OK | Function completed successfully. |
SPERR_ALREADY_INITIALIZED | Interface is already initialized. |
Example
The following code snippet adds, tests, and deletes a superfluous key in the speech registry.
HRESULT hr;
CComPtr cpSpRegDataKey;
CComPtr cpSpCreatedDataKey;
CComPtr cpSpCategory;
CComPtr cpSpDataKey;
HKEY hkey;
//create a bogus key under Voices
hr = g_Unicode.RegCreateKeyEx(HKEY_LOCAL_MACHINE,
L"SOFTWARE\\Microsoft\\Speech\\Voices\\bogus",
0, NULL, 0, KEY_READ | KEY_WRITE, NULL, &hkey, NULL);
//Check error
hr = cpSpRegDataKey.CoCreateInstance(CLSID_SpDataKey);
//Check error
hr = cpSpRegDataKey->SetKey(hkey, false);
//Check error
hkey = NULL;
//Do not need to do RegCloseKey on this hkey, the handle gets released inside SetKey().
hr = cpSpRegDataKey->QueryInterface(&cpSpCreatedDataKey);
//Check error
//delete this bogus key
hr = SpGetCategoryFromId(SPCAT_VOICES, &cpSpCategory);
//Check error
hr = cpSpCategory->GetDataKey(SPDKL_LocalMachine, &cpSpDataKey);
//Check error
hr = cpSpDataKey->DeleteKey(L"bogus");
//Check error
Requirements
OS Versions: Windows CE .NET 4.1 and later.
Header: sapi.h, sapi.idl.
Link Library: Sapilib.lib.
See Also
ISpRegDataKey | SAPI Interfaces
Send Feedback on this topic to the authors