次の方法で共有


書式指定文字列

書式指定文字列は、NDR エンジンが認識する解釈されたトークンです。 書式指定文字列は、多くの場合、MOP と呼ばれます。このドキュメントでは、書式指定文字列という用語を全体で使用します。

より正確に言えば、書式指定文字は個々の (アトミック) 解釈可能なトークンです。 各書式文字のサイズは 1 バイトです。 書式指定文字列は、書式指定文字または書式指定文字と数値データのシーケンスです。 記述子という用語は、共通シーケンスの名前付けにも使用されます。たとえば、パラメーター書式指定文字列またはパラメーター記述子は、ルーチンのパラメーターを記述するために使用される書式指定文字列です。

書式指定文字には、FC_LONGやFC_STRUCTなどのシンボリック名が推奨されます。 MIDL および NDR エンジンで使用されるすべての書式指定文字列文字は、Ndrtypes.h ファイルで定義されます。

文字列テーブルの書式設定

エンジンでは、プロシージャ記述子を保持するプロシージャ書式指定文字列テーブル (__MIDL_ProcFormatString) の 2 つのプライマリ書式指定文字列テーブルが使用されます。データ型記述子を保持する型書式指定文字列テーブル (__MIDL_TypeFormatString)。 コンパイラは、両方を メイン スタブ ファイル (*_c.c、*_s.c、*_p.c) に生成します。 プロシージャ書式指定文字列テーブルは、主にさまざまなインタープリターによって使用されますが、コンパイラ モードに関係なくバッファー変換にも使用されます。 型書式指定文字列テーブルは、処理対象の特定のデータ型を示すためにコア NDR エンジンを呼び出すときに使用されます。

文字列表記の書式設定

このドキュメントで使用される表記は、一般的なプログラミング記述ガイドラインに従います。代替コンストラクトを示すために使用されるバー ( | ) と、省略可能な要素を示すために使用される角かっこ ( [ ] ) を使用します。 書式指定文字列は、読みやすくするために積み重ねられます (説明責任)。 このドキュメント全体で、FC は 1 つの書式文字を表します。 書式文字は、実際のシンボリック名を使用して、すべての CAPS に表示されます。 その他の任意のフィールドは、名前とサイズで表されます。

山かっこ ( <> ) は、記述子のサイズを示すために使用されます。 次の表に示す規則が採用されています。

Notation 意味
< < > 記述子のサイズは n バイトです。
<> 記述子のサイズは異なります。
{<>}* 記述子は、何度でも繰り返されます (0,1,2 ...)。

 

次の書式文字は特別な意味を持ちます。

文字 説明
FC_END 一部の書式指定文字列の末尾を示します。
FC_PAD 未解釈のパッド文字。