COleVariant 클래스

참고 항목

MFC(Microsoft Foundation Classs) 라이브러리는 계속 지원됩니다. 그러나 더 이상 기능을 추가하거나 설명서를 업데이트하지 않습니다.

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 값을 COleVariant.로 변환합니다LPCVARIANT.
COleVariant::operator LPVARIANT 개체를 COleVariant .로 LPVARIANT변환합니다.
COleVariant::operator = 값을 복사합니다 COleVariant .
COleVariant::operator == 두 COleVariant 값을 비교합니다.
COleVariant::operator <<, COleVariant::operator >> COleVariant 값을 CArchive 출력하거나 CDumpContext 개체를 입력합니다 COleVariantCArchive.

설명

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

참고 항목

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

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

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

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

상속 계층 구조

tagVARIANT

COleVariant

요구 사항

헤더: afxdisp.h

COleVariant::Attach

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

void Attach(VARIANT& varSrc);

매개 변수

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

설명

이 함수는 varSrc의 VARTYPE을 VT_EMPTY 설정합니다.

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

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 개체에 복사할 기존 VARIANT 또는 COleVariant 개체입니다.

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

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

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

strSrc
개체입니다.

nSrc, lSrc 새 COleVariant 개체에 복사할 숫자 값입니다.

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

curSrc
개체입니다.

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

timeSrc
개체입니다.

arrSrc
개체입니다.

lbSrc
개체입니다.

pidl
새 개체에 COleVariant 구조체에 대한 포인터입니다.

설명

이러한 모든 생성자는 지정된 값으로 초기화된 새 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, VARENUM 및 VariantChangeType 항목을 참조하세요.

COleVariant::Clear

을 VARIANT지웁니다.

void Clear();

설명

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

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

COleVariant::D etach

이 개체에서 기본 VARIANTCOleVariant분리합니다.

VARIANT Detach();

설명

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

참고 항목

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

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

COleVariant::GetByteArrayFromVariantArray

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

void GetByteArrayFromVariantArray(CByteArray& bytes);

매개 변수

바이트
기존 CByteArray 개체에 대한 참조입니다 .

COleVariant::operator LPCVARIANT

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

operator LPCVARIANT() const;

설명

COleVariant::operator LPVARIANT

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

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의 VARIANT 및 VARENUM 항목을 참조하세요.

COleVariant::operator ==

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

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

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

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

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::Seek 및 CDaoRecordset::SetFieldValue 함수는 개체를 매개 변수로 사용합니다COleVariant. DAO 레코드 집합이 UNICODE가 아닌 경우 이러한 개체는 ANSI여야 합니다.

참고 항목

계층 구조 차트