RpcSsAllocate 함수(rpcndr.h)

RpcSsAllocate 함수는 RPC 스텁 메모리 관리 함수 내에서 메모리를 할당하고 할당된 메모리 또는 NULL에 대한 포인터를 반환합니다.

구문

void * RpcSsAllocate(
  size_t Size
);

매개 변수

Size

할당할 메모리 크기(바이트)입니다.

반환 값

의미
RPC_S_OUT_OF_MEMORY
시스템이 메모리가 부족합니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

RpcSsAllocate 함수를 사용하면 애플리케이션이 RPC 스텁 메모리 관리 함수 내에서 메모리를 할당할 수 있습니다. RpcSsAllocate를 호출하기 전에 메모리 관리 환경을 이미 설정해야 합니다. 스텁 내에서 호출되는 메모리 관리의 경우 스텁 자체는 일반적으로 필요한 환경을 설정합니다. 자세한 내용은 메모리 관리를 참조하세요. RpcSsAllocate를 사용하여 스텁에서 호출되지 않은 메모리를 할당하는 경우 애플리케이션은 RpcSsEnableAllocate를 호출하여 필요한 메모리 관리 환경을 설정해야 합니다.

호출에 성공한 경우 RpcSsAllocate 루틴은 할당된 메모리에 대한 포인터를 반환합니다. 그렇지 않으면 예외가 발생합니다.

스텁이 메모리 관리를 설정하면 RpcSsAllocate에서 할당한 모든 메모리를 해제합니다. 애플리케이션은 RpcSsFree를 호출하여 호출 스텁으로 돌아가기 전에 이러한 메모리를 해제할 수 있습니다.

반면, 애플리케이션이 메모리 관리를 설정할 때 할당된 메모리를 해제해야 합니다. RpcSsFree 또는 RpcSsDisableAllocate를 호출하여 이 작업을 수행합니다.

스텁 메모리 관리 환경 내에서 동일한 메모리를 관리하기 위해 여러 스레드에서 RpcSsAllocateRpcSsFree를 호출할 수 있습니다. 이 경우 스레드는 동일한 스텁 메모리 관리 스레드 핸들을 공유해야 합니다. 애플리케이션은 RpcSsGetThreadHandle 및 RPCSsSetThreadHandle 을 호출하여 스레드에서 스레드로 스레드 핸들 을 전달합니다.

참고RpcSsAllocate 루틴은 오류 코드를 반환하는 RpcSmAllocate와 달리 예외를 발생합니다.
 

요구 사항

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

추가 정보

RpcSmAllocate

RpcSsDisableAllocate

RpcSsEnableAllocate

RpcSsFree

RpcSsGetThreadHandle

RpcSsSetThreadHandle