CertSrvBackupGetDatabaseNamesW 関数 (certbcli.h)
CertSrvBackupGetDatabaseNames 関数は、特定のバックアップ コンテキストに対してバックアップする必要がある Certificate Services データベース ファイル名の一覧を取得します。
構文
HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(
[in] HCSBC hbc,
[out] PWSTR *ppwszzAttachmentInformation,
[out] DWORD *pcbSize
);
パラメーター
[in] hbc
Certificate Services バックアップ コンテキストへのハンドル。
[out] ppwszzAttachmentInformation
null で終わるデータベース ファイル名の一覧を受け取る WCHAR ポインターへのポインター。 すべてのファイル名の後に null 文字があり、リストの末尾に余分な null 文字があります。 ファイル名は UNC 形式の "## \\Server\SharePoint\... になります。Path...\FileName.ext" ディレクトリ名は同じ形式になりますが、末尾の "\FileName.ext" は使用しません。 テキスト "##" は Certificate Services Backup ファイルの種類 (CSBFT_*) を示し、各 UNC パスにプレフィックスが付いた単一の null 以外の Unicode 文字として格納されます。 型タグは Certbcli.h で定義されており、この関数には次の値を指定できます。
値 | 意味 |
---|---|
|
パスを含む Certificate Services データベース ファイル名。 |
この割り当てられたメモリは、 CertSrvBackupFree を呼び出して解放する必要があります。 この関数を呼び出す前に、*ppwszzAttachmentInformation を NULL に設定することは省略可能です。
[out] pcbSize
ppwszzAttachmentInformation のバイト数を指定する DWORD 値へのポインター。
戻り値
戻り値は HRESULT です。 S_OK の値は成功を示します。
注釈
Certadm.dll 内のこの関数の名前は CertSrvBackupGetDatabaseNamesW です。 GetProcAddress を呼び出すときは、この形式の名前を使用する必要があります。 また、この関数は Certbcli.h ヘッダー ファイルで FNCERTSRVBACKUPGETDATABASENAMESW 型として定義されます。
例
FNCERTSRVBACKUPGETDATABASENAMESW* pfnGetDBNames;
char * szGetDBNamesFunc = "CertSrvBackupGetDatabaseNamesW";
WCHAR * pwszzDBFiles;
DWORD nListBytes=0;
HRESULT hr=0;
// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDBNames = (FNCERTSRVBACKUPGETDATABASENAMESW*)
GetProcAddress(hInst, szGetDBNamesFunc);
if ( NULL == pfnGetDBNames )
{
printf("Failed GetProcAddress - %s, error=%d\n",
szGetDBNamesFunc,
GetLastError() );
exit(1); // Or other appropriate error action.
}
// Determine the names of the database files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare
hr = pfnGetDBNames(hCSBC, &pwszzDBFiles, &nListBytes);
if (FAILED(hr))
{
printf("Failed pfnGetDBNames call [%x]\n", hr);
exit(1); // Or other appropriate error action.
}
else
{
printf("%d bytes for DB file names\n", nListBytes);
WCHAR * pwszFile = pwszzDBFiles;
// Process the list.
while ( L'\0' != *pwszFile )
{
// Use the file name referenced by pwszFile.
// Here it is merely displayed.
printf("%02x: %ws\n", *pwszFile, &pwszFile[1]);
// Move to the next database file name.
// + 1 moves past the null terminator.
pwszFile+=(wcslen(pwszFile)) + 1;
}
// Free the allocated memory.
// pfnBackupFree is the address of the
// CertSrvBackupFree function.
pfnBackupFree(pwszzDBFiles);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certbcli.h (Certsrv.h を含む) |
Library | Certadm.lib |
[DLL] | Certadm.dll |