Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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