RpcErrorStartEnumeration 함수(rpcasync.h)
RpcErrorStartEnumeration 함수는 확장된 오류 정보의 열거를 시작합니다.
구문
RPC_STATUS RpcErrorStartEnumeration(
RPC_ERROR_ENUM_HANDLE *EnumHandle
);
매개 변수
EnumHandle
RPC_ERROR_ENUM_HANDLE 구조체 형식의 열거형 핸들에 대한 포인터입니다. 구조체는 호출자가 할당해야 하며 작업이 완료될 때까지 해제할 수 없습니다. 모든 멤버는 입력에서 무시됩니다.
반환 값
성공적으로 완료하면 RPC_S_OK 반환됩니다.
스레드에 확장된 오류 정보가 없으면 RPC_S_ENTRY_NOT_FOUND 반환합니다. 열거형이 진행 중인 경우 두 번째 열거형 시작은 처음부터 시작됩니다.
설명
RpcErrorStartEnumeration 함수 호출은 오류를 반환한 호출 직후에 이루어져야 합니다. 그렇지 않으면 후속 호출을 통해 확장 오류 정보를 덮어쓸 수 있습니다. RpcErrorEndEnumeration 함수를 사용하여 열거형 핸들을 해제해야 합니다.
RpcErrorStartEnumeration이 호출되면 다른 스레드의 열거형 핸들을 사용하는 것이 안전합니다. RpcErrorStartEnumeration 함수는 확장된 오류 정보의 스냅샷 사용하고 반환되는 열거형 핸들은 스냅샷 작동합니다. 그러나 열거형 함수는 RPC에 의해 스레드 간에 동기화되지 않으므로 호출자가 이를 담당합니다. RpcErrorStartEnumeration에 대한 후속 호출은 새 열거형을 시작하고 동일한 확장된 오류 정보에 대한 두 번째 열거형을 만들지 않습니다.
열거형을 시작하기에 충분한 메모리가 없는 경우 RpcErrorStartEnumeration 함수가 실패할 수 있습니다. 열거형 핸들은 RpcError* 함수에만 전달할 수 있으며 DuplicateHandle과 같은 다른 함수에는 사용할 수 없습니다.
하나의 열거형에서 열거형 포인터를 진행해도 독립적으로 시작된 열거형에는 영향을 주지 않습니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | rpcasync.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |