Back

#pragma once

typedef unsigned __int3264 ABIG;
typedef unsigned __int64 BIG64;

class CPSLUtilities
{
public:

   //////////////////////////////////////////////////
   // Method GetVariantBig;
   //
   // Attempts extraction of ABIG from a Variant,
   // optionally indicating whether there was an error
   // during extraction;
   static ABIG GetVariantBig(LPVARIANT pVar, bool * pError = NULL);


   //////////////////////////////////////////////////
   // Method SetVariantBig;
   //
   // Sets a 64-bit long value into the variant when
   // in 64-bit mode, and 32-bit when in 32-bit mode;
   static void SetVariantBig(LPVARIANT pVar, ABIG Value);


   ///////////////////////////////////////////////////
   // Method SetVariant64Bit;
   //
   // Sets 64-bit long value into the variant when the
   // current OS is not Windows 2000, or 32-bit when it
   // is Windows 2000.
   //
   // This method handles the automation problem that
   // variant types VT_I8 and VT_UI8 are not supported
   // on Windows 2000;
   static void SetVariant64Bit(LPVARIANT pVar, BIG64 Value);


   //////////////////////////////////////////////////
   // Method GetLongFilePathDetails;
   //
   // Takes a full file path, presumably in the short
   // form, converts it into the long form and then
   // extracts three parameters from it: full path,
   // directory and the file name;
   static void GetLongFilePathDetails(LPCTSTR sPath, _bstr_t & filePath, _bstr_t & fileDir, _bstr_t & fileName);

};

Top