Bagikan melalui


Fungsi RpcSmAllocate (rpcndr.h)

Fungsi RpcSmAllocate mengalokasikan memori dalam fungsi manajemen memori stub RPC dan mengembalikan pointer ke memori yang dialokasikan atau NULL.

Sintaks

void * RpcSmAllocate(
  size_t     Size,
  RPC_STATUS *pStatus
);

Parameter

Size

Ukuran memori yang akan dialokasikan, dalam byte.

pStatus

Penunjuk ke status yang dikembalikan.

Menampilkan nilai

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_OUT_OF_MEMORY
Sistem kehabisan memori.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Rutinitas RpcSmAllocate memungkinkan aplikasi untuk mengalokasikan memori dalam lingkungan manajemen memori stub RPC. Sebelum memanggil RpcSmAllocate, lingkungan manajemen memori harus sudah ditetapkan. Untuk manajemen memori yang disebut dalam stub, stub server itu sendiri dapat membangun lingkungan yang diperlukan. Untuk informasi selengkapnya, lihat RpcSmEnableAllocate. Saat menggunakan RpcSmAllocate untuk mengalokasikan memori yang tidak dipanggil dari stub, aplikasi harus memanggil RpcSmEnableAllocate untuk membangun lingkungan manajemen memori yang diperlukan.

Rutinitas RpcSmAllocate mengembalikan pointer ke memori yang dialokasikan jika panggilan berhasil. Jika tidak, NULL dikembalikan.

Ketika stub menetapkan manajemen memori, itu membebaskan memori apa pun yang dialokasikan oleh RpcSmAllocate. Aplikasi dapat membebaskan memori tersebut sebelum kembali ke stub panggilan dengan memanggil RpcSmFree.

Sebaliknya, ketika aplikasi menetapkan manajemen memori, aplikasi harus membebaskan memori apa pun yang dialokasikan. Hal ini dilakukan dengan memanggil RpcSmFree atau RpcSmDisableAllocate.

Untuk mengelola memori yang sama dalam lingkungan memori–manajemen stub, beberapa utas dapat memanggil RpcSmAllocate dan RpcSmFree. Dalam hal ini, utas harus berbagi handel utas manajemen memori stub yang sama. Aplikasi meneruskan handel utas dari utas ke utas dengan memanggil RpcSmGetThreadHandle dan RpcSmSetThreadHandle.

Untuk informasi selengkapnya, lihat Manajemen Memori.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header rpcndr.h (termasuk Rpc.h)
Pustaka Rpcrt4.lib
DLL Rpcrt4.dll

Lihat juga

RpcSmDisableAllocate

RpcSmEnableAllocate

RpcSmFree

RpcSmGetThreadHandle

RpcSmSetThreadHandle