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 클래스 COleCurrency 및 COleDateTime은 VARIANT 데이터 형식 CURRENCY () 및 DATE (VT_DATE
VT_CY
)를 캡슐화합니다. 이 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
현재 COleVariant
개체에 연결할 기존 VARIANT
개체입니다.
설명
이 함수는 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
개체에 복사할 기존 COleVariant
또는 VARIANT
개체입니다.
pSrc
새 COleVariant
개체에 VARIANT
복사할 개체에 대한 포인터입니다.
lpszSrc
새 COleVariant
개체에 복사할 null로 끝나는 문자열입니다.
vtSrc
새 COleVariant
개체의 경우입니다VARTYPE
.
strSrc
새 COleVariant
개체에 복사할 CString 개체입니다.
nSrc, lSrc 새 COleVariant
개체에 복사할 숫자 값입니다.
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, VARENUM 및 VariantChangeType 항목을 참조하세요.
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, VARENUM 및 VariantClear 항목을 참조하세요.
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의 VARIANT 및 VARENUM 항목을 참조하세요.
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::Seek 및 CDaoRecordset::SetFieldValue 함수는 개체를 매개 변수로 사용합니다COleVariant
. DAO 레코드 집합이 UNICODE가 아닌 경우 이러한 개체는 ANSI여야 합니다.