RpcBindingInqAuthClientEx 함수(rpcdce.h)
서버 애플리케이션은 RpcBindingInqAuthClientEx 함수를 호출하여 원격 프로시저를 호출한 클라이언트 프로그램에 대한 확장된 정보를 가져옵니다.
구문
RPC_STATUS RpcBindingInqAuthClientEx(
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 형식에 대한 자세한 내용은 보안 주체 이름을 참조하세요.
RpcBindingInqAuthClientEx가 ServerPrincName 매개 변수를 반환하지 못하도록 null 값을 지정합니다. 이 경우 애플리케이션은 RpcStringFree 함수를 호출하지 않습니다.
AuthnLevel
ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 인증 수준으로 설정된 포인터를 반환합니다. RPC 지원 인증 수준 목록은 인증 수준 상수를 참조하세요.
RpcBindingInqAuthClientEx가 AuthnLevel 매개 변수를 반환하지 못하도록 null 값을 지정합니다.
AuthnSvc
ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 인증 서비스에 대한 포인터 집합을 반환합니다. RPC 지원 인증 서비스 목록은 Authentication-Service 상수를 참조하세요.
RpcBindingInqAuthClientEx가 AuthnSvc 매개 변수를 반환하지 못하도록 null 값을 지정합니다.
AuthzSvc
바인딩 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 권한 부여 서비스에 대한 포인터 집합을 반환합니다. RPC 지원 권한 부여 서비스 목록은 Authorization-Service 상수를 참조하세요 .
RpcBindingInqAuthClientEx가 AuthzSvc 매개 변수를 반환하지 못하도록 null 값을 지정합니다. 이 매개 변수는 RPC_C_AUTHN_WINNT 인증 서비스에서 사용되지 않습니다. 반환된 값은 항상 RPC_S_AUTHZ_NONE.
Flags
보안 주체 이름의 형식을 제어합니다. 이 매개 변수는 다음 값으로 설정할 수 있습니다.
값 | 의미 |
---|---|
|
주체 이름을 fullsic 형식으로 다시 전달합니다. |
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
바인딩 핸들이 잘못되었습니다. |
|
이것은 작업에 대한 잘못된 종류의 바인딩이었습니다. |
|
바인딩에 인증 정보가 없습니다. |
설명
서버 애플리케이션은 RpcBindingInqAuthClientEx 함수를 호출하여 원격 프로시저 호출을 수행한 인증된 클라이언트의 보안 주체 이름 또는 권한 특성을 가져옵니다. 또한 RpcBindingInqAuthClientEx 는 클라이언트에서 지정한 인증 서비스, 인증 수준 및 서버 보안 주체 이름을 반환합니다. 서버는 권한 부여를 위해 반환된 데이터를 사용할 수 있습니다.
RPC 런타임 라이브러리는 반환된 ServerPrincName 매개 변수에 대한 메모리를 할당합니다. 애플리케이션은 반환된 인수 문자열에 대해 RpcStringFree 함수를 호출합니다.
동기 RPC 호출의 경우 서버 애플리케이션은 ClientBinding 매개 변수의 값으로 0을 사용할 수 있습니다. 0을 사용하면 현재 실행 중인 원격 프로시저 호출에서 인증 및 권한 부여 정보가 검색됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |