// Copyright transferred from MATRIX-Computer GmbH to
// Kern Sibbald by express permission.
//
-// Copyright (C) 2005 Kern Sibbald
+// Copyright (C) 2005-2006 Kern Sibbald
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
#ifdef B_VSS_XP
#pragma message("compile VSS for Windows XP")
#define VSSClientGeneric VSSClientXP
+ // wait is not available under XP...
+ #define VSS_TIMEOUT
#include "vss/inc/WinXP/vss.h"
#include "vss/inc/WinXP/vswriter.h"
#ifdef B_VSS_W2K3
#pragma message("compile VSS for Windows 2003")
#define VSSClientGeneric VSSClient2003
+ // wait x ms for a VSS asynchronous operation (-1 = infinite)
+ // unfortunately, it doesn't work, so do not set timeout
+ #define VSS_TIMEOUT
#include "vss/inc/Win2003/vss.h"
#include "vss/inc/Win2003/vswriter.h"
void VSSClientGeneric::WaitAndCheckForAsyncOperation(IVssAsync* pAsync)
{
- // Wait until the async operation finishes
- HRESULT hr = pAsync->Wait();
+ // Wait until the async operation finishes
+ // unfortunately we can't use a timeout here yet.
+ // the interface would allow it on W2k3, but it is not implemented yet....
+ HRESULT hr = pAsync->Wait(VSS_TIMEOUT);
// Check the result of the asynchronous operation
HRESULT hrReturned = S_OK;