ACAPI_GetPreferences
애드온의 저장된 preferences를 리턴합니다.
GSErrCode ACAPI_GetPreferences ( Int32* version, GSSize* nByte, void* data );
파라미터
- version
- [out] 리턴시 저장된 preferences의 버전을 포함하고 있습니다. 또는 preferences를 찾지 못하면
0
이 들어 있습니다. - nByte
- [out] 리턴시 저장된 preferences의 크기(바이트)를 포함하고 있습니다. 또는 preferences를 찾지 못하면
0
이 들어 있습니다. - data
- [in/out] 리턴시 저장된 preferences를 포함하고 있습니다. 이 파라미터는
NULL
이 될 수 있습니다.
리턴 값
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
(1) 당신의 애드온의 저장된 preferences를 가져올 수 있습니다. 이 정보는 예전에 DoCommand
함수의 파라미터로 애드온에게 전달되었습니다.
(2) 마지막 파라미터를 NULL
로 설정하는 것은 API가 preferences 데이터의 버전과 크기만 리턴하게 된다는 것을 의미합니다.
만약 크기나 버전 번호가 0
이면, 저장된 preferences가 없는 것입니다.
(3) 버전 정보는 예전 preferences를 현재 포맷으로 변환하는 데 사용할 수 있습니다.
preferences 데이터의 플랫폼 식별자를 가져오기 위해
ArchiCAD에서
ACAPI_GetPreferences
대신 ACAPI_GetPreferences_Platform을 사용하십시오.
예제
Int32 version; GSSize nBytes; GSPtr pref; ACAPI_GetPreferences (&version, &nBytes, NULL); // (2) 버전 및 크기를 가져옴 if (version == MY_PREFERENCES_VERSION) { // (3) 버전 확인 pref = BMAllocatePtr (nBytes, ALLOCATE_CLEAR, 0); // preferences에 대한 메모리 할당 if (pref != NULL) { ACAPI_GetPreferences (&version, &nBytes, pref); // 실제 preferences를 가져옴 // preferences 데이터와 함께 무엇인가를 수행함 BMKillPtr (&pref); // 할당된 포인터 폐기하기 } }
요구사항
- 버전: API 4.1 또는 이후
- 헤더: ACAPinc.h
참고사항
애드온 데이터를 Preferences와 Project File에 저장하기
ACAPI_GetPreferences_Platform
ACAPI_SetPreferences
ACAPI_SetPreferences_OldVersion
API 함수