Quantcast
Channel: Programmers Heaven Forums RSS Feed
Viewing all articles
Browse latest Browse all 2703

How to backup using backup API's in c++

$
0
0
Hi,

I am writing an application that used to backup some specified file, therefore using the backup API calls i.e CreateFile BackupRead and WriteFile.

getting Access violation reading location.

I have attached code below.
#include <windows.h>

int main()
{
	HANDLE hInput, hOutput;
	
	//m_filename is a variable holding the file path to read from
	hInput = CreateFile(L"C:\\Key.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
	
	//strLocation contains the path of the file I want to create.
	hOutput= CreateFile(L"C:\\tmp\\", GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, NULL, NULL); 
 
    
	DWORD dwBytesToRead = 1024 * 1024 * 10;
    BYTE *buffer;
    buffer = new BYTE[dwBytesToRead];
	BOOL bReadSuccess = false,bWriteSuccess = false;
	DWORD dwBytesRead,dwBytesWritten;
	LPVOID lpContext;
	//Now comes the important bit:
 
    do
    {
        bReadSuccess = BackupRead(hInput, buffer, sizeof(BYTE) *dwBytesToRead, &dwBytesRead, false, true, &lpContext);
        bWriteSuccess= WriteFile(hOutput, buffer, sizeof(BYTE) *dwBytesRead, &dwBytesWritten, NULL); 
    }while(dwBytesRead == dwBytesToRead);

	return 0;
}


Any one suggest me how to use these API's?

Thanks.

Viewing all articles
Browse latest Browse all 2703

Trending Articles