DsBackupGetDatabaseNames function

[This function is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Beginning with Windows Vista, use Volume Shadow Copy Service (VSS) instead.]

The DsBackupGetDatabaseNames function obtains the list of database files to be backed up for the given backup context.

Syntax

HRESULT DsBackupGetDatabaseNames(
  _In_  HBC     hbc,
  _Out_ LPTSTR  *pszAttachmentInfo,
  _Out_ LPDWORD pcbSize
);

Parameters

hbc [in]

Contains the backup context handle obtained with the DsBackupPrepare function.

pszAttachmentInfo [out]

Pointer to a string pointer that receives the list of database file names as UNC paths. This value must be initialized to NULL prior to calling DsBackupGetDatabaseNames.

This list receives a double null-terminated list of single null-terminated strings.

This buffer is allocated by the DsBackupGetDatabaseNames function and must be freed when it is no longer required by calling the DsBackupFree function.

The first character of each file name contains one of the BFT Constants that identifies the type of name. The DsRestoreGetDatabaseLocations function only supplies the following types of names.

BFT_NTDS_DATABASE

The file is an NTDS database file. This file should be copied to the file identified as BFT_NTDS_DATABASE when the data is restored.

BFT_LOG

The file is a log file. All log files are copied to the directory identified as BFT_LOG_DIR when the data is restored.

BFT_PATCH_FILE

The file is a patch file. All patch files are copied to the directory identified as BFT_CHECKPOINT_DIR when the data is restored.

pcbSize [out]

Pointer to DWORD value that receives the size, in bytes, of the pszAttachmentInfo buffer.

Return value

Returns S_OK if the function is successful or a Win32 or RPC error code otherwise. The following list lists other possible error codes.

ERROR_ACCESS_DENIED

The caller does not have the proper access privileges to call this function. The DsSetAuthIdentity function can be used to set the credentials to use for the backup and restore functions.

ERROR_INVALID_PARAMETER

hbc, pszAttachmentInfo, or pcbSize are invalid.

ERROR_NOT_ENOUGH_MEMORY

A memory allocation failure occurred.

Remarks

The DsBackupGetDatabaseNames function provides a list of the database files necessary for a backup. A full backup consists of the database files and the log files provided by the DsBackupGetBackupLogs function. Incremental backups of Active Directory servers are not supported.

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Header
Ntdsbcli.h
Library
Ntdsbcli.lib
DLL
Ntdsbcli.dll
Unicode and ANSI names
DsBackupGetDatabaseNamesW (Unicode) and DsBackupGetDatabaseNamesA (ANSI)

See also

DsBackupPrepare

DsBackupFree

DsBackupGetBackupLogs

BFT Constants

Backing Up an Active Directory Server

Directory Backup Functions