다음을 통해 공유


COleVariant 클래스

VARIANT 데이터 형식을 캡슐화합니다.

구문

class COleVariant : public tagVARIANT

멤버

공용 생성자

속성 설명
COleVariant::COleVariant COleVariant 개체를 생성합니다.

공용 메서드

이름 설명
COleVariant::Attach VARIANT를 .에 연결합니다 COleVariant.
COleVariant::ChangeType COleVariant 개체의 변형 형식을 변경합니다.
COleVariant::Clear COleVariant 개체를 지웁니다.
COleVariant::D etach VARIANT를 a COleVariant 에서 분리하고 VARIANT를 반환합니다.
COleVariant::GetByteArrayFromVariantArray 기존 변형 배열에서 바이트 배열을 검색합니다.
COleVariant::SetString 문자열을 특정 형식(일반적으로 ANSI)으로 설정합니다.

Public 연산자

속성 설명
COleVariant::operator LPCVARIANT 값을 LPCVARIANT.로 변환합니다COleVariant.
COleVariant::operator LPVARIANT 개체를 COleVariant .로 LPVARIANT변환합니다.
COleVariant::operator = 값을 복사합니다 COleVariant .
COleVariant::operator == COleVariant 값을 비교합니다.
COleVariant::operator <<, COleVariant::operator >> COleVariant 값을 CArchive 출력하거나 CDumpContext 개체를 입력합니다 COleVariant CArchive.

설명

이 데이터 형식은 OLE 자동화에 사용됩니다. 특히 DISPPARAMS 구조체는 VARIANT 구조의 배열에 대한 포인터를 포함합니다. DISPPARAMS 구조체는 IDispatch::Invoke에 매개 변수를 전달하는 데 사용됩니다.

참고 항목

이 클래스는 구조체 VARIANT 에서 파생됩니다. 즉, 구조체의 COleVariant 데이터 멤버가 액세스할 수 있는 데이터 멤버 VARIANT COleVariant인 매개 VARIANT 변수를 전달할 수 있습니다.

두 개의 관련 MFC 클래스 COleCurrencyCOleDateTime은 VARIANT 데이터 형식 CURRENCY () 및 DATE (VT_DATEVT_CY)를 캡슐화합니다. 이 COleVariant 클래스는 DAO 클래스에서 광범위하게 사용됩니다. 이 클래스의 일반적인 사용(예 : CDaoQueryDefCDaoRecordset)은 이러한 클래스를 참조하세요.

자세한 내용은 Windows SDK에서 VARIANT, CURRENCY, DISPPARAMS 및 IDispatch::Invoke 항목을 참조하세요.

클래스 및 OLE 자동화에서의 사용에 대한 COleVariant 자세한 내용은 Automation 문서의 "OLE 자동화에서 매개 변수 전달"을 참조하세요.

상속 계층 구조

tagVARIANT

COleVariant

요구 사항

헤더: afxdisp.h

COleVariant::Attach

지정된 VARIANT 개체를 현재 COleVariant 개체에 연결하려면 이 함수를 호출합니다.

void Attach(VARIANT& varSrc);

매개 변수

varSrc
현재 COleVariant 개체에 연결할 기존 VARIANT 개체입니다.

설명

이 함수는 varSrcVARTYPE을 VT_EMPTY 설정합니다.

자세한 내용은 Windows SDK의 VARIANTVARENUM 항목을 참조하세요.

COleVariant::COleVariant

COleVariant 개체를 생성합니다.

COleVariant();
COleVariant(const VARIANT& varSrc);
COleVariant(const COleVariant& varSrc);
COleVariant(LPCVARIANT pSrc);
COleVariant(LPCTSTR lpszSrc);
COleVariant(LPCTSTR lpszSrc, VARTYPE vtSrc);
COleVariant(CString& strSrc);
COleVariant(BYTE nSrc);
COleVariant(short nSrc, VARTYPE vtSrc = VT_I2);
COleVariant(long lSrc,VARTYPE vtSrc = VT_I4);
COleVariant(const COleCurrency& curSrc);
COleVariant(float fltSrc);
COleVariant(double dblSrc);
COleVariant(const COleDateTime& timeSrc);
COleVariant(const CByteArray& arrSrc);
COleVariant(const CLongBinary& lbSrc);
COleVariant(LPCITEMIDLIST pidl);

매개 변수

varSrc
COleVariant 개체에 복사할 기존 COleVariant 또는 VARIANT 개체입니다.

pSrc
COleVariant 개체에 VARIANT 복사할 개체에 대한 포인터입니다.

lpszSrc
COleVariant 개체에 복사할 null로 끝나는 문자열입니다.

vtSrc
COleVariant 개체의 경우입니다VARTYPE.

strSrc
COleVariant 개체에 복사할 CString 개체입니다.

nSrc, lSrcCOleVariant 개체에 복사할 숫자 값입니다.

vtSrc
COleVariant 개체의 경우입니다VARTYPE.

curSrc
COleVariant 개체에 복사할 COleCurrency 개체입니다.

fltSrc, dblSrc
COleVariant 개체에 복사될 숫자 값입니다.

timeSrc
COleVariant 개체에 복사할 COleDateTime 개체입니다.

arrSrc
COleVariant 개체에 복사할 CByteArray 개체입니다.

lbSrc
COleVariant 개체에 복사할 CLongBinary 개체입니다.

pidl
COleVariant 개체에 복사할 ITEMIDLIST 구조체에 대한 포인터입니다.

설명

이러한 모든 생성자는 지정된 값으로 초기화된 새 COleVariant 개체를 만듭니다. 이러한 각 생성자에 대한 간략한 설명은 다음과 같습니다.

  • COleVariant( ) VT_EMPTY 빈 COleVariant 개체를 만듭니다.

  • COleVariant( varSrc) 기존 VARIANT 개체 또는 COleVariant 개체를 복사합니다. 변형 형식이 유지됩니다.

  • COleVariant(pSrc) 기존 VARIANT 개체 또는 COleVariant 개체를 복사합니다. 변형 형식이 유지됩니다.

  • COleVariant(lpszSrc) 문자열을 유니코드(VT_BSTR) 새 개체에 복사합니다.

  • COleVariant(lpszSrc, vtSrc) 문자열을 새 개체에 복사합니다. 매개 변수 vtSrc 는 VT_BSTR(UNICODE) 또는 ANSI(VT_BSTRT)여야 합니다.

  • COleVariant( strSrc) 문자열을 유니코드(VT_BSTR) 새 개체에 복사합니다.

  • COleVariant( nSrc) 8비트 정수는 VT_UI1 새 개체에 복사합니다.

  • COleVariant( nSrc, vtSrc) 16비트 정수(또는 부울 값)를 새 개체에 복사합니다. 매개 변수 vtSrc 는 VT_I2 또는 VT_BOOL 합니다.

  • COleVariant(lSrc, vtSrc) 32비트 정수(또는 SCODE 값)를 새 개체에 복사합니다. 매개 변수 vtSrc 는 VT_I4, VT_ERROR 또는 VT_BOOL 합니다.

  • COleVariant(curSrc) VT_CY 새 개체에 값을 복사합니다COleCurrency.

  • COleVariant(fltSrc) 32비트 부동 소수점 값을 새 개체 VT_R4 복사합니다.

  • COleVariant(dblSrc) 64비트 부동 소수점 값을 새 개체 VT_R8 복사합니다.

  • COleVariant( timeSrc) VT_DATE 새 개체에 값을 복사합니다COleDateTime.

  • COleVariant( arrSrc) VT_EMPTY 새 개체에 개체를 복사합니다CByteArray.

  • COleVariant(lbSrc) 개체를 CLongBinary 새 개체에 복사하고 VT_EMPTY.

SCODE에 대한 자세한 내용은 Windows SDK의 COM 오류 코드 구조를 참조하세요.

COleVariant::ChangeType

COleVariant 개체의 변형 값 형식을 변환합니다.

void ChangeType(VARTYPE vartype, LPVARIANT pSrc = NULL);

매개 변수

vartype
COleVariant 개체의 VARTYPE입니다.

pSrc
변환할 VARIANT 개체에 대한 포인터입니다. 이 값이 NULL이면 이 COleVariant 개체가 변환의 원본으로 사용됩니다.

설명

자세한 내용은 Windows SDK의 VARIANT, VARENUMVariantChangeType 항목을 참조하세요.

COleVariant::Clear

VARIANT지웁니다.

void Clear();

설명

이렇게 하면 이 개체의 VARTYPE이 VT_EMPTY. COleVariant 소멸자가 이 함수를 호출합니다.

자세한 내용은 Windows SDK의 VARIANT, VARTYPE 및 VariantClear 항목을 참조하세요.

COleVariant::D etach

COleVariant 개체에서 기본 VARIANT 개체를 분리합니다.

VARIANT Detach();

설명

이 함수는 이 COleVariant 개체의 VARTYPE을 VT_EMPTY 설정합니다.

참고 항목

호출 Detach후 결과 VARIANT 구조를 호출 VariantClear 하는 것은 호출자의 책임입니다.

자세한 내용은 Windows SDK의 VARIANT, VARENUMVariantClear 항목을 참조하세요.

COleVariant::GetByteArrayFromVariantArray

기존 변형 배열에서 바이트 배열을 검색합니다.

void GetByteArrayFromVariantArray(CByteArray& bytes);

매개 변수

bytes
기존 CByteArray 개체에 대한 참조입니다 .

COleVariant::operator LPCVARIANT

이 캐스팅 연산자는 VARIANT 값이 이 COleVariant 개체에서 복사되는 구조를 반환합니다.

operator LPCVARIANT() const;

설명

COleVariant::operator LPVARIANT

이 개체의 기본 구조에 액세스하려면 이 COleVariant 캐스팅 연산자를 VARIANT 호출합니다.

operator LPVARIANT();

설명

주의

이 함수에서 VARIANT 반환된 포인터에서 액세스하는 구조체의 값을 변경하면 이 개체의 값이 COleVariant 변경됩니다.

COleVariant::operator =

이러한 오버로드된 할당 연산자는 원본 값을 이 COleVariant 개체에 복사합니다.

const COleVariant& operator=(const VARIANT& varSrc);
const COleVariant& operator=(LPCVARIANT pSrc);
const COleVariant& operator=(const COleVariant& varSrc);
const COleVariant& operator=(const LPCTSTR lpszSrc);
const COleVariant& operator=(const CString& strSrc);
const COleVariant& operator=(BYTE nSrc);
const COleVariant& operator=(short nSrc);
const COleVariant& operator=(long lSrc);
const COleVariant& operator=(const COleCurrency& curSrc);
const COleVariant& operator=(float fltSrc);
const COleVariant& operator=(double dblSrc);
const COleVariant& operator=(const COleDateTime& dateSrc);
const COleVariant& operator=(const CByteArray& arrSrc);
const COleVariant& operator=(const CLongBinary& lbSrc);

설명

각 연산자에 대한 간략한 설명은 다음과 같습니다.

  • operator =( varSrc ) 기존 VARIANT 또는 COleVariant 개체를 이 개체에 복사합니다.

  • operator =( pSrc ) pSrc에서 액세스하는 VARIANT 개체를 이 개체에 복사합니다.

  • operator =( lpszSrc ) null로 끝나는 문자열을 이 개체에 복사하고 VARTYPE을 VT_BSTR 설정합니다.

  • operator =( strSrc ) CString 개체를 이 개체에 복사하고 VARTYPE을 VT_BSTR 설정합니다.

  • operator =( nSrc ) 8비트 또는 16비트 정수 값을 이 개체에 복사합니다. nSrc가 8비트 값이면 이 VARTYPE이 VT_UI1 설정됩니다. nSrc가 16비트 값이고 이 값의 VARTYPE이 VT_BOOL 경우 유지되고, 그렇지 않으면 VT_I2 설정됩니다.

  • operator =( lSrc ) 32비트 정수 값을 이 개체에 복사합니다. 이 VARTYPE이 VT_ERROR 유지됩니다. 그렇지 않으면 VT_I4 설정됩니다.

  • operator =( curSrc ) COleCurrency 개체를 이 개체에 복사하고 VARTYPE을 VT_CY 설정합니다.

  • operator =( fltSrc ) 32비트 부동 소수점 값을 이 개체에 복사하고 VARTYPE을 VT_R4 설정합니다.

  • operator =( dblSrc ) 64비트 부동 소수점 값을 이 개체에 복사하고 VARTYPE을 VT_R8 설정합니다.

  • operator =( dateSrc ) COleDateTime 개체를 이 개체에 복사하고 VARTYPE을 VT_DATE 설정합니다.

  • operator =( arrSrc ) CByteArray 개체를 COleVariant 개체에 복사합니다.

  • operator =( lbSrc ) CLongBinary 개체를 COleVariant 개체에 복사합니다.

자세한 내용은 Windows SDK의 VARIANTVARENUM 항목을 참조하세요.

COleVariant::operator ==

이 연산자는 두 변형 값을 비교하고 같은 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0입니다.

BOOL operator==(const VARIANT& varSrc) const;
BOOL operator==(LPCVARIANT pSrc) const;

COleVariant::operator <<, COleVariant::operator >>

COleVariant 값을 CArchive 출력하거나 CdumpContext 개체를 입력합니다 COleVariant CArchive.

friend CDumpContext& AFXAPI operator<<(
    CDumpContext& dc,
    OleVariant varSrc);

friend CArchive& AFXAPI operator<<(
    CArchive& ar,
    COleVariant varSrc);

friend CArchive& AFXAPI operator>>(
    CArchive& ar,
    COleVariant& varSrc);

설명

COleVariant insertion(<<) 연산자는 진단 덤프 및 보관에 저장을 지원합니다. 추출(>>) 연산자는 보관 파일에서 로드를 지원합니다.

COleVariant::SetString

문자열을 특정 형식으로 설정합니다.

void SetString(LPCTSTR lpszSrc, VARTYPE vtSrc);

매개 변수

lpszSrc
COleVariant 개체에 복사할 null로 끝나는 문자열입니다.

VtSrc
COleVariant 개체의 VARTYPE입니다.

설명

매개 변수 vtSrc 는 VT_BSTR(UNICODE) 또는 ANSI(VT_BSTRT)여야 합니다. SetString는 문자열 또는 문자열 포인터 매개 변수가 있고 VARTYPE이 유니코드가 없는 COleVariant::COleVariant 생성자의 기본값이므로 일반적으로 문자열을 ANSI로 설정하는 데 사용됩니다.

유니코드가 아닌 빌드의 DAO 레코드 집합에는 문자열이 ANSI여야 합니다. 따라서 개체를 사용하는 COleVariant DAO 함수의 경우 UNICODE 레코드 집합을 만들지 않는 경우 COleVariant::COleVariant(lpszSrc, vtSrc ) 형식의 생성자를 사용하여 ANSI(VT_BSTRT)로 설정하거나 VT_BSTRT vtSrc를 사용하여 SetString ANSI 문자열을 만들어야 합니다. 예를 들어 CDaoRecordset CDaoRecordset::SeekCDaoRecordset::SetFieldValue 함수는 개체를 매개 변수로 사용합니다COleVariant. DAO 레코드 집합이 UNICODE가 아닌 경우 이러한 개체는 ANSI여야 합니다.

참고 항목

계층 구조 차트