다음을 통해 공유


RpcBindingInqAuthClient 함수(rpcdce.h)

서버 애플리케이션은 RpcBindingInqAuthClient 함수를 호출하여 원격 프로시저 호출을 수행한 인증된 클라이언트의 보안 주체 이름 또는 권한 특성을 가져옵니다.

구문

RPC_STATUS RpcBindingInqAuthClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

매개 변수

ClientBinding

원격 프로시저를 호출한 클라이언트의 클라이언트 바인딩 핸들입니다. 이 값은 0일 수 있습니다. 설명 부분을 참조하세요.

Privs

ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션의 권한 있는 정보에 대한 핸들에 대한 포인터를 반환합니다. ncalrpc 호출의 경우 Privs는 클라이언트의 보안 주체 이름을 가진 문자열을 포함합니다.

이 매개 변수에서 참조하는 데이터는 읽기 전용이며 서버 애플리케이션에서 수정해서는 안 됩니다. 서버가 반환된 데이터를 유지하려는 경우 서버는 데이터를 서버 할당 메모리에 복사해야 합니다.

Privs 매개 변수가 가리키는 데이터는 SSP에서 직접 가져옵니다. 따라서 데이터 형식은 SSP와 관련이 있습니다. SSP에 대한 자세한 내용은 SSP(보안 지원 공급자)를 참조하세요.

ServerPrincName

RpcServerRegisterAuthInfo 함수를 호출한 서버 애플리케이션에서 지정한 서버 보안 주체 이름에 대한 포인터에 대한 포인터를 반환합니다. 반환된 이름 및 해당 구문의 콘텐츠는 사용 중인 인증 서비스에 의해 정의됩니다. SCHANNEL SSP의 경우 보안 주체 이름은 Microsoft 표준(msstd) 형식입니다. msstd 형식에 대한 자세한 내용은 보안 주체 이름을 참조하세요.

RpcBindingInqAuthClientServerPrincName 매개 변수를 반환하지 못하도록 null 값을 지정합니다. 이 경우 애플리케이션은 RpcStringFree 함수를 호출하지 않습니다.

AuthnLevel

ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 인증 수준으로 설정된 포인터를 반환합니다.

RpcBindingInqAuthClientAuthnLevel 매개 변수를 반환하지 못하도록 null 값을 지정합니다.

AuthnSvc

ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 인증 서비스에 대한 포인터 집합을 반환합니다. RPC 지원 인증 수준 목록은 인증 수준 상수를 참조하세요.

RpcBindingInqAuthClientAuthnSvc 매개 변수를 반환하지 못하도록 null 값을 지정합니다.

AuthzSvc

ClientBinding 바인딩 핸들에서 원격 프로시저 호출을 수행한 클라이언트 애플리케이션에서 요청한 권한 부여 서비스에 대한 포인터 집합을 반환합니다.

RpcBindingInqAuthClientAuthzSvc 매개 변수를 반환하지 못하도록 null 값을 지정합니다. 이 매개 변수는 RPC_C_AUTHN_WINNT 인증 서비스에서 사용되지 않습니다. 반환된 값은 항상 RPC_C_AUTHZ_NONE.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_INVALID_BINDING
바인딩 핸들이 잘못되었습니다.
RPC_S_WRONG_KIND_OF_BINDING
이것은 작업에 대한 잘못된 종류의 바인딩이었습니다.
RPC_S_BINDING_HAS_NO_AUTH
바인딩에 인증 정보가 없습니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

서버 애플리케이션은 RpcBindingInqAuthClient 함수를 호출하여 원격 프로시저 호출을 수행한 인증된 클라이언트의 보안 주체 이름 또는 권한 특성을 가져옵니다. 또한 RpcBindingInqAuthClient 는 클라이언트에서 지정한 인증 서비스, 인증 수준 및 서버 보안 주체 이름을 반환합니다. 서버는 권한 부여를 위해 반환된 데이터를 사용할 수 있습니다.

RPC 런타임 라이브러리는 반환된 ServerPrincName 매개 변수에 대한 메모리를 할당합니다. 애플리케이션은 반환된 인수 문자열에 대해 RpcStringFree 함수를 호출합니다.

동기 RPC 호출의 경우 서버 애플리케이션은 ClientBinding 매개 변수의 값으로 0을 사용할 수 있습니다. 0을 사용하면 현재 실행 중인 원격 프로시저 호출에서 인증 및 권한 부여 정보가 검색됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 rpcdce.h(Rpc.h 포함)
라이브러리 Rpcrt4.lib
DLL Rpcrt4.dll

추가 정보

RpcBindingSetAuthInfo

RpcStringFree