
`ldap_add_ext` 함수와 `ldap_add_ext_s` 함수의 차이점은 다음과 같습니다.
- `ldap_add_ext_s` 함수는 동기식으로 LDAP 연산을 수행하며, 연산이 완료될 때까지 대기합니다.
- `ldap_add_ext` 함수는 비동기식으로 LDAP 연산을 수행하며, 연산이 완료되면 콜백 함수를 호출합니다.
`ldap_add_ext` 함수를 사용하여 오류를 처리하는 방법은 다음과 같습니다.
1. `ldap_add_ext` 함수를 호출할 때, `LDAP_OPT_SIZELIMIT` 옵션을 설정하여 연산에 대한 제한을 지정할 수 있습니다.
2. 연산이 완료되면, 콜백 함수를 호출하여 연산 결과를 처리할 수 있습니다.
3. 연산 결과를 처리할 때, 오류 코드를 확인하여 오류가 발생한 경우에 대한 처리를 수행할 수 있습니다.
`ldap_add_ext` 함수의 `msgid` 매개변수는 연산에 대한 식별자입니다. 오류 발생 시, `msgid` 값을 통해 오류를 추적하는 방법은 다음과 같습니다.
1. 연산이 완료되면, 콜백 함수를 호출하여 연산 결과를 처리할 수 있습니다.
2. 연산 결과를 처리할 때, 오류 코드를 확인하여 오류가 발생한 경우에 대한 처리를 수행할 수 있습니다.
3. 오류 코드를 확인할 때, `msgid` 값을 함께 확인하여 연산에 대한 식별자를 확인할 수 있습니다.
예를 들어, 다음과 같이 `ldap_add_ext` 함수를 호출할 수 있습니다.
#hostingforum.kr
c
int msgid;
int rc = ldap_add_ext(ld, "cn=example,dc=example,dc=com", attrs, NULL, NULL, &msgid, NULL, NULL, NULL);
이 경우, `msgid` 변수에 연산에 대한 식별자가 할당됩니다. 연산이 완료되면, 콜백 함수를 호출하여 연산 결과를 처리할 수 있습니다.
#hostingforum.kr
c
int rc = ldap_result(ld, msgid, 0, NULL, &res);
이 경우, `ldap_result` 함수를 호출하여 연산 결과를 확인할 수 있습니다. 연산 결과를 처리할 때, 오류 코드를 확인하여 오류가 발생한 경우에 대한 처리를 수행할 수 있습니다.
#hostingforum.kr
c
if (rc == LDAP_RES_EXTENDED) {
// 연산 결과를 처리할 코드
} else {
// 오류가 발생한 경우에 대한 처리를 수행할 코드
}
이러한 방법으로 `ldap_add_ext` 함수를 사용하여 오류를 처리할 수 있습니다.
2025-03-09 09:44