Share via


ISpRegDataKey::SetKey (Windows Embedded CE 6.0)

1/6/2010

This method sets the hive registry key (HKEY) to use for subsequent token operations.

Syntax

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 Value

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

Header sapi.h, sapi.idl
Library sapilib.lib
Windows Embedded CE Windows CE .NET 4.1 and later

See Also

Reference

ISpRegDataKey
SAPI Interfaces