home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-01-02 | 818 b | 44 lines | [TEXT/CWIE] |
- //
- // acxVariant.CPP
- //
- // Copyright (C) Microsoft Corporation, 1996
- //
-
- #include "headers.h"
-
-
- STDAPI_(void) acx_VariantInit(VARIANTARG FAR* pvarg)
- {
- pvarg->vt = VT_EMPTY;
- }
-
- STDAPI
- acx_VariantCopy( VARIANTARG FAR* pvargDest, VARIANTARG FAR* pvargSrc)
- {
- if(pvargSrc->vt == VT_BSTR)
- {
- DWORD length;
-
- length = *((LPDWORD) pvargSrc->bstrVal);
- pvargDest->bstrVal = (char*) CoTaskMemAlloc(sizeof(DWORD) + length + 1);
- memcpy(pvargDest->bstrVal, pvargSrc->bstrVal, sizeof(DWORD) + length + 1);
-
- pvargDest->vt = pvargSrc->vt;
-
- return S_OK;
- }
- return E_FAIL;
- }
-
- STDAPI
- acx_VariantChangeType( VARIANTARG FAR* pvargDest, VARIANTARG FAR* pvarSrc,
- unsigned short wFlags, VARTYPE vt)
- {
- #pragma unused (wFlags)
- if(vt == VT_BSTR)
- {
- return acx_VariantCopy( pvargDest, pvarSrc);
- }
- return E_FAIL;
- }
-