다음을 통해 공유


COleSafeArray::CreateOneDim

새 1 차원 COleSafeArray 개체입니다.

void CreateOneDim(
   VARTYPE vtSrc,
   DWORD dwElements,
   const void* pvSrcData = NULL,
   long nLBound = 0 
);

매개 변수

  • vtSrc
    기본 형식 배열입니다 (즉,에서 VARTYPE 배열의 각 요소를).

  • dwElements
    배열에 있는 요소의 개수입니다.배열을 만든 후 변경할 수 있습니다 ResizeOneDim.

  • pvSrcData
    포인터의 데이터를 배열에 복사 합니다.

  • nLBound
    배열의 하한값입니다.

설명

할당 하 고 경우 지정 된 데이터를 복사 하는 배열에 대 한 데이터를 초기화 하는 함수 포인터 pvSrcData 수 없습니다 NULL.

함수에서 오류를 throw 한 CMemoryException.

예제

VARIANT varColInfo[3];

//initialize VARIANTs
for (int i = 0; i < 3; i++)
   VariantInit(&varColInfo[i]);

// Column Name
varColInfo[0].vt = VT_BSTR;
varColInfo[0].bstrVal = ::SysAllocString(L"Name");

// Column Type
varColInfo[1].vt = VT_UI4;
varColInfo[1].lVal = 1;

COleSafeArray sa;
//create a 1 dimensional safearray of VARIANTs
//& initialize it with varColInfo VARIANT array
sa.CreateOneDim(VT_VARIANT, 2, varColInfo);

//check that the dimension is 2
ASSERT(sa.GetOneDimSize() == 2);

//increase safearray size by 1
sa.ResizeOneDim(3);

// populate the last element of the safearray, (Column Size)
varColInfo[2].vt = VT_I4;
varColInfo[2].lVal = 30;
long el = 2;
sa.PutElement(&el, &varColInfo[2]);

요구 사항

헤더: afxdisp.h

참고 항목

참조

COleSafeArray 클래스

계층 구조 차트

COleSafeArray::GetOneDimSize

COleSafeArray::ResizeOneDim

COleSafeArray::Create