CertRegisterSystemStore 関数 (wincrypt.h)

CertRegisterSystemStore 関数は、システム ストアを登録します。

構文

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

パラメーター

[in] pvSystemStore

登録するシステム ストアを識別します。 dwFlags パラメーターでCERT_SYSTEM_STORE_RELOCATE_FLAGが設定されている場合、pvSystemStoreCERT_SYSTEM_STORE_RELOCATE_PARA構造体を指します。 それ以外の場合は、システム ストアに名前を付ける null で終わる Unicode 文字列を指します。

dwFlags で適切な設定を使用すると、識別されたストアをリモート ローカル コンピューター上のシステム ストアにすることができます。 リモート コンピューター上のストアは、システム ストアの名前のプレフィックスとしてコンピューター名で登録できます。 たとえば、リモート ローカル コンピューター ストアは、文字列 "\ComputerName\Trust" または "ComputerName\Trust" を指す pvSystemStore に登録できます。

先頭の "\" 円記号は、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に登録できます。

次のローワード値も定義されており、上位ワード値を持つビットごとの OR 演算を使用して組み合わせることができます。

意味
CERT_SYSTEM_STORE_RELOCATE_FLAG
システム ストアは既定のレジスタの場所に存在せず、 pvSystemStoreCERT_SYSTEM_STORE_RELOCATE_PARA 構造体へのポインターである必要があります。
CERT_STORE_CREATE_NEW_FLAG
システム ストアがストアの場所に既に存在する場合、関数は失敗します。

[in] pStoreInfo

将来使用するために予約されており、 NULL に設定する必要があります。

[in] pvReserved

将来使用するために予約されており、 NULL に設定する必要があります。

戻り値

関数が成功した場合、関数は 0 以外の値を返します。

関数が失敗すると、0 が返されます。

注釈

この関数によって登録されているシステム ストアの登録を解除するには、 CertUnregisterSystemStore を呼び出します。

次の例は、レジストリ システム ストア コレクションにシステム ストアを追加する方法を示しています。 この例の完全なコンテキストを含む例については、「 Example C Program: Listing System and Physical Stores」を参照してください。

//--------------------------------------------------------------------
// 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
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

証明書ストア関数