APIDb_GetHotlinkNodeTreeID
주어진 핫링크 노드 하의 트리 구조를 가져옵니다.
GSErrCode ACAPI_Database ( APIDb_GetHotlinkNodeTreeID, const API_Guid* hotlinkNodeGuid, GS::HashTable<API_Guid,GS::Array<API_Guid>>* hotlinkNodeTree );
파라미터
- hotlinkNodeGuid
- [in] 부모 노드의 guid입니다.
- hotlinkNodeTree
- [out] 주어진 부모 노드 하의 트리 구조입니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
- 파라미터들 중 하나 이상이
NULL
입니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 프로젝트에서 사용한 핫링크들의 중첩된(nested) 노드 계층을 탐색하는 데 도움을 줍니다. 이 구조는 부모 노드와 자녀 노드들의 배열 쌍(pair)의 해시 테이블 형태로 표현됩니다.
트리의 최상위 노드는 hotlinkNodeGuid
파라미터로 정의됩니다.
이것은 보통 Hotlink Module 타입 또는 XRef 타입 핫링크 루트 노드입니다.
(APIDb_GetHotlinkRootNodeGuidID 함수로 가져올 수 있음)
그러나 서브 트리를 요청했을 때에만 아무 노드가 될 수 있습니다.
예제
API_HotlinkTypeID type = APIHotlink_Module; API_Guid hotlinkRootNodeGuid = APINULLGuid; if (ACAPI_Database (APIDb_GetHotlinkRootNodeGuidID, &type, &hotlinkRootNodeGuid) == NoError) { GS::HashTable<API_Guid, GS::Array<API_Guid> > hotlinkNodeTree; if (ACAPI_Database (APIDb_GetHotlinkNodeTreeID, &hotlinkRootNodeGuid, &hotlinkNodeTree) == NoError) { if (hotlinkNodeTree.ContainsKey (hotlinkRootNodeGuid)) { ACAPI_WriteReport ("List of main level hotlink nodes:", false); const GS::Array<API_Guid>& nodeRefList = hotlinkNodeTree.Get (hotlinkRootNodeGuid); for (UInt32 i = 0; i < nodeRefList.GetSize (); i++) { char guidStr[64]; APIGuid2GSGuid (nodeRefList[i]).ConvertToString (guidStr); ACAPI_WriteReport (guidStr, false); } } else { ACAPI_WriteReport ("No hotlink node was found", false); } } }
핫링크 관련 코드 샘플들에 대해서는 Element_Test 예제 애드온에서 찾을 수 있습니다.
요구사항
- 버전: API 12 또는 이후
- 헤더: APIdefs_Database.h
참고사항
APIDb_GetHotlinkNodeID
APIDb_GetHotlinkNodesID
APIDb_GetHotlinkRootNodeGuidID
APIDb_GetHotlinkInstancesID
ACAPI_Database
API 함수