次の方法で共有


MesEncodeDynBufferHandleCreate 関数 (midles.h)

MesEncodeDynBufferHandleCreate 関数は、エンコード ハンドルを作成し、シリアル化の動的バッファー スタイル用に初期化します。

構文

RPC_STATUS MesEncodeDynBufferHandleCreate(
  char          **pBuffer,
  unsigned long *pEncodedSize,
  handle_t      *pHandle
);

パラメーター

pBuffer

シリアル化が完了した後のエンコードを含むスタブ指定バッファーへのポインターへのポインター。

pEncodedSize

完成したエンコードのサイズへのポインター。 サイズは、後続のエンコード操作によって pEncodedSize によって指されるメモリの場所に書き込まれます。

pHandle

ハンドルが書き込まれるアドレスへのポインター。

戻り値

説明
RPC_S_OK
呼び出しは成功しました。
RPC_S_INVALID_ARG
引数が無効です。
RPC_S_OUT_OF_MEMORY
メモリが不足しています。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

解説

MesEncodeDynBufferHandleCreate ルーチンは、メモリを割り当て、エンコードの動的バッファー スタイルのハンドルを初期化するためにアプリケーションによって使用されます。 エンコードの動的バッファー スタイルを使用する場合、エンコードされたすべてのデータを格納するバッファーがスタブによって提供されます。 このバッファーは、現在のクライアント メモリ管理メカニズムによって割り当てられます。

同じハンドルを持つ複数のエンコードにこのスタイルを使用すると、パフォーマンスに影響が出る可能性があります。 エンコードから 1 つのバッファーが返され、データが中間バッファーからコピーされます。 バッファーは、必要に応じて解放されます。

スタブが -protocol all または -protocol ndr64 を使用してコンパイルされ、バッファーが NDR64 転送構文を使用してエンコードされる場合は、 OpCode パラメーターを MES_ENCODE_NDR64 に設定して MesBufferHandleReset 関数を呼び出す必要があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー midles.h (Rpc.h を含む)
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

関連項目

MesBufferhandleReset

MesHandleFree