다음을 통해 공유


ICreateTypeInfo::LayOut 메서드(oaidl.h)

가상 함수에 대한 VTBL 오프셋과 instance별 데이터 멤버에 대한 instance 오프셋을 할당하고 이중 인터페이스에 대한 두 가지 형식 설명을 만듭니다.

구문

HRESULT LayOut();

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
S_ok
성공.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.
E_ACCESSDENIED
대상에 쓸 수 없습니다.
STG_E_INSUFFICIENTMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.
TYPE_E_UNDEFINEDTYPE
인식할 수 없는 형식에 바인딩됩니다.
TYPE_E_INVALIDSTATE
형식 라이브러리의 상태가 이 작업에 유효하지 않습니다.
TYPE_E_WRONGTYPEKIND
형식이 일치하지 않습니다.
TYPE_E_ELEMENTNOTFOUND
요소를 찾을 수 없습니다.
TYPE_E_AMBIGUOUSNAME
이 이름으로 둘 이상의 항목이 있습니다.
TYPE_E_SIZETOOBIG
형식 정보가 너무 깁니다.
TYPE_E_TYPEMISMATCH
형식이 일치하지 않습니다.

설명

또한 LayOut 은 클래스의 TYPEKIND가 TKIND_DISPATCH 않는 한 함수 및 변수에 멤버 ID 번호를 할당합니다. 형식 정보의 모든 멤버가 정의되고 형식 라이브러리가 저장되기 전에 LayOut 을 호출합니다.

LayOut을 호출한 후 ICreateTypeLib::SaveAllChanges를 사용하여 형식 정보를 저장합니다. LayOut을 호출한 후에는 ICreateTypeInfo 인터페이스의 다른 멤버를 호출하면 안 됩니다.

참고ICreateTypeLib::SaveAllChanges 또는 형식 정보를 만드는 다른 인터페이스의 다양한 구현은 모든 멤버(상속된 멤버 포함)에 고유한 ID가 있는 경우 멤버 ID 번호를 자유롭게 할당할 수 있습니다. 예제는 ICreateTypeInfo2를 참조하세요.
 

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 oaidl.h

추가 정보

ICreateTypeInfo