RpcBindingInqAuthClientExA 함수(rpcdce.h)
서버 애플리케이션은 RpcBindingInqAuthClientEx 함수를 호출하여 원격 프로시저를 호출한 클라이언트 프로그램에 대한 확장 정보를 가져옵니다.
통사론
RPC_STATUS RpcBindingInqAuthClientExA(
RPC_BINDING_HANDLE ClientBinding,
RPC_AUTHZ_HANDLE *Privs,
RPC_CSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
unsigned long *AuthzSvc,
unsigned long Flags
);
매개 변수
ClientBinding
원격 프로시저 호출을 수행한 클라이언트의 클라이언트 바인딩 핸들입니다. 이 값은 0일 수 있습니다. 비고를 참조하세요.
Privs
ClientBinding 바인딩 핸들에서 원격 프로시저를 호출한 클라이언트 애플리케이션의 권한 있는 정보에 대한 핸들에 대한 포인터를 반환합니다. ncalrpc 호출의 경우 Privs 클라이언트의 주체 이름을 가진 문자열을 포함합니다.
서버 애플리케이션은 Privs 매개 변수를 AuthnSvc 매개 변수로 지정된 데이터 형식으로 캐스팅해야 합니다. 이 인수에서 참조하는 데이터는 읽기 전용이며 서버 애플리케이션에서 수정해서는 안 됩니다. 서버에서 반환된 데이터를 유지하려는 경우 서버는 데이터를 서버 할당 메모리에 복사해야 합니다.
SSP에 대한 자세한 내용은 SSP(보안 지원 공급자)참조하세요.
ServerPrincName
RpcServerRegisterAuthInfo 함수를 호출한 서버 애플리케이션에서 지정한 서버 보안 주체 이름에 대한 포인터에 대한 포인터를 반환합니다. 반환된 이름 및 해당 구문의 내용은 사용 중인 인증 서비스에서 정의됩니다. SCHANNEL SSP의 경우 보안 주체 이름은 msstd 형식입니다. msstd 형식에 대한 자세한 내용은 보안 주체 이름참조하세요.
RpcBindingInqAuthClientExServerPrincName 매개 변수를 반환하지 않도록 null 값을 지정합니다. 이 경우 애플리케이션은 RpcStringFree 함수를 호출하지 않습니다.
AuthnLevel
ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 인증 수준으로 설정된 포인터를 반환합니다. RPC 지원 인증 수준 목록은 Authentication-Level 상수참조하세요.
RpcBindingInqAuthClientExAuthnLevel 매개 변수를 반환하지 않도록 null 값을 지정합니다.
AuthnSvc
ClientBinding 바인딩 핸들에서 원격 프로시저를 호출한 클라이언트 애플리케이션에서 요청한 인증 서비스에 대한 포인터 집합을 반환합니다. RPC 지원 인증 서비스 목록은 Authentication-Service 상수참조하세요.
RpcBindingInqAuthClientExAuthnSvc 매개 변수를 반환하지 못하도록 null 값을 지정합니다.
AuthzSvc
Binding 바인딩 핸들에서 원격 프로시저를 호출한 클라이언트 애플리케이션에서 요청한 권한 부여 서비스에 대한 포인터 집합을 반환합니다. RPC 지원 권한 부여 서비스 목록은 Authorization-Service 상수 참조하세요.
RpcBindingInqAuthClientExAuthzSvc 매개 변수를 반환하지 않도록 null 값을 지정합니다. 이 매개 변수는 RPC_C_AUTHN_WINNT 인증 서비스에서 사용되지 않습니다. 반환된 값은 항상 RPC_S_AUTHZ_NONE.
Flags
보안 주체 이름의 형식을 제어합니다. 이 매개 변수는 다음 값으로 설정할 수 있습니다.
값 | 의미 |
---|---|
|
주체 이름을 전체 형식으로 |
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
바인딩 핸들이 잘못되었습니다. |
|
이것은 작업에 대한 잘못된 종류의 바인딩이었습니다. |
|
바인딩에 인증 정보가 없습니다. |
발언
서버 애플리케이션은 RpcBindingInqAuthClientEx 함수를 호출하여 원격 프로시저를 호출한 인증된 클라이언트의 보안 주체 이름 또는 권한 특성을 가져옵니다. 또한 RpcBindingInqAuthClientEx 클라이언트에서 지정한 인증 서비스, 인증 수준 및 서버 보안 주체 이름을 반환합니다. 서버는 권한 부여를 위해 반환된 데이터를 사용할 수 있습니다.
RPC 런타임 라이브러리는 반환된 ServerPrincName 매개 변수에 대한 메모리를 할당합니다. 애플리케이션은 반환된 인수 문자열에 대한 RpcStringFree 함수를 호출합니다.
동기 RPC 호출의 경우 서버 애플리케이션은 ClientBinding 매개 변수의 값으로 0을 사용할 수 있습니다. 0을 사용하면 현재 실행 중인 원격 프로시저 호출에서 인증 및 권한 부여 정보를 검색합니다.
메모
rpcdce.h 헤더는 RpcBindingInqAuthClientEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |