pdcomm_gem300_capability_catalog_create
함수
리비전이 0인 빈 기능 카탈로그를 만듭니다.
PdcommStatus pdcomm_gem300_capability_catalog_create(const PdcommGem300CapabilityOptions *options, PdcommGem300CapabilityCatalog **out)옵션은 복사됩니다. 카탈로그는 자체 저장 공간을 가리키는 포인터를 절대 노출하지 않습니다.
매개변수
| 이름 | 설명 |
|---|---|
options | 카탈로그 한도입니다. struct_size는 sizeof(PdcommGem300CapabilityOptions) 이상, version은 #PDCOMM_GEM300_CAPABILITY_OPTIONS_VERSION, reserved는 0이어야 합니다. |
out | 카탈로그를 받습니다. 검증 전에 NULL로 설정되므로 실패하면 항상 NULL입니다. |
반환값
성공하면 #PDCOMM_OK를 반환합니다. out 또는 options가 NULL이거나, struct_size가 너무 작거나, version 또는 reserved가 잘못되었으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 한도가 0이거나 max_capabilities_per_profile이 4보다 크면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. gem300 모듈을 허가하는 라이선스가 없으면 #PDCOMM_LICENSE_REQUIRED를 반환합니다(옵션을 확인한 뒤 검사하며, 카탈로그를 만들지 않습니다). 패닉(panic)을 격리했으면 #PDCOMM_INTERNAL_ERROR를 반환합니다.
참고
- 소유권: pdcomm_gem300_capability_catalog_destroy()로 카탈로그를 해제합니다.