Поделиться через


Функция CertRegisterSystemStore (wincrypt.h)

Функция CertRegisterSystemStore регистрирует системное хранилище.

Синтаксис

BOOL CertRegisterSystemStore(
  [in] const void              *pvSystemStore,
  [in] DWORD                   dwFlags,
  [in] PCERT_SYSTEM_STORE_INFO pStoreInfo,
  [in] void                    *pvReserved
);

Параметры

[in] pvSystemStore

Определяет системное хранилище для регистрации. Если CERT_SYSTEM_STORE_RELOCATE_FLAG задано в параметре dwFlags , pvSystemStore указывает на CERT_SYSTEM_STORE_RELOCATE_PARA структуру. В противном случае он указывает на строку Юникода, завершающуюся null, которая называет системное хранилище.

При наличии соответствующих параметров в dwFlags идентифицированное хранилище может быть системным хранилищем на удаленном локальном компьютере. Хранилища на удаленных компьютерах можно зарегистрировать с помощью имени компьютера в качестве префикса имени системного хранилища. Например, хранилище удаленного локального компьютера можно зарегистрировать с помощью pvSystemStore , указывающего на строку "\ComputerName\Trust" или "ComputerName\Trust".

Перед computerName в начале обратная косая черта "\" является необязательным.

[in] dwFlags

Высокое слово параметра dwFlags используется для указания расположения системного хранилища.

Определяются следующие значения в высоком слове.

Значение Значение
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore может быть именем системного хранилища с префиксом ServiceName.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore может быть именем системного хранилища с префиксом UserName.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore может быть системным хранилищем, которое находится на удаленном компьютере.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore — это хранилище групповой политики и может находиться на удаленном компьютере.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore должно быть именем системного хранилища с префиксом ServiceName.
CERT_SYSTEM_STORE_USERS
pvSystemStore должно быть именем системного хранилища с префиксом UserName.
 

Хранилища на удаленных компьютерах можно зарегистрировать для CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS или CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY.

Также определяются следующие значения с низкими словами, которые можно объединить с помощью побитовой операции ИЛИ со значениями высокого слова.

Значение Значение
CERT_SYSTEM_STORE_RELOCATE_FLAG
Системное хранилище не находится в расположении регистрации по умолчанию, и pvSystemStore должен быть указателем на структуру CERT_SYSTEM_STORE_RELOCATE_PARA .
CERT_STORE_CREATE_NEW_FLAG
Функция завершается ошибкой, если системное хранилище уже существует в расположении хранилища.

[in] pStoreInfo

Зарезервировано для использования в будущем и должно иметь значение NULL.

[in] pvReserved

Зарезервировано для использования в будущем и должно иметь значение NULL.

Возвращаемое значение

Если функция выполняется успешно, функция возвращает ненулевое значение.

Если функция завершается сбоем, она возвращает ноль.

Комментарии

Чтобы отменить регистрацию системного хранилища, зарегистрированного этой функцией, вызовите CertUnregisterSystemStore.

Примеры

В следующем примере показано добавление системного хранилища в коллекцию системных хранилищ реестра. Пример, включающий полный контекст для этого примера, см. в разделе Пример программы C: листинг системных и физических хранилищ.

//--------------------------------------------------------------------
// Declare and initialize variables.

LPCWSTR pvSystemName= L"NEWSTORE";  // For this setting of 
                                    // dwFlags, the store name may 
                                    // be prefixed with a user name.
DWORD dwFlags= CERT_SYSTEM_STORE_CURRENT_USER;

if(CertRegisterSystemStore(
    pvSystemName,
    dwFlags,
    NULL,
    NULL))
{
  printf("System store %S is registered. \n",pvSystemName);
}
else
{
  printf("The system store did not register. \n");
  exit(1);
}

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

См. также раздел

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Функции хранилища сертификатов