この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

関数プロトタイプの規則

 

Azure サービスのランタイム ネイティブ ライブラリは、汎用、UTF-8、および Unicode バージョンの関数プロトタイプを備えています。 プロトタイプは UTF-8 プロトタイプまたは Unicode プロトタイプを生成するようにコンパイルできます。 3 つのすべてのプロトタイプを選択し、このトピックでは説明のコード サンプルで示すようには、 RoleEnvironmentGetConfigurationSetting 関数 関数。

System_CAPS_noteメモ

これらの規則は、Windows API について定義されたものと似ていますが、Azure サービスのランタイム ネイティブ ライブラリ関数プロトタイプは、ANSI ではなく UTF-8 です。

Azure サービスのランタイム ネイティブ ライブラリを使用してすべての関数を定義する STDAPI, 、これは、関数が HRESULT を返すことを示します。

汎用プロトタイプの例を次に示します。

STDAPI RoleEnvironmentGetConfigurationSettingValue( __in LPCTSTR name, __out_ecount(cchDest) LPTSTR pszDest, __in size_t cchDest, __out_opt size_t *pcchRequiredDestSize);

ヘッダー ファイルはマクロとして実装される汎用関数名を提供します。

#ifdef UNICODE #define RoleEnvironmentGetConfigurationSettingValue  \ RoleEnvironmentGetConfigurationSettingValueW #else #define RoleEnvironmentGetConfigurationSettingValue \ RoleEnvironmentGetConfigurationSettingValueA #endif /* !UNICODE */ #endif

プリプロセッサはマクロを UTF-8 または Unicode の関数名に拡張します。 汎用関数名の末尾には、必要に応じて、文字 "A" (UTF-8) または "W" (Unicode) が追加されます。 ヘッダー ファイルは、UTF-8 用と Unicode 用に特定のプロトタイプをそれぞれ 1 つずつ、合計 2 つのプロトタイプを提供します。

STDAPI RoleEnvironmentGetConfigurationSettingValueA( __in LPCSTR name, __out_ecount(cchDest) LPSTR pszDest, __in size_t cchDest, __out_opt size_t *pcchRequiredDestSize
STDAPI RoleEnvironmentGetConfigurationSettingValueW( __in LPCWSTR name, __out_ecount(cchDest) LPWSTR pszDest, __in size_t cchDest, __out_opt size_t *pcchRequiredDestSize);

説明したように Windows のデータ型の文字列の, 、汎用関数プロトタイプがテキストのパラメーターのデータ型 LPCTSTR を使用します。 ただし、Windows コード ページ プロトタイプではデータ型は LPCSTR が、Unicode のプロトタイプでは LPCWSTR が使用されます。

テキスト引数を持つすべての関数では、通常、アプリケーションは汎用関数プロトタイプを使用する必要があります。 アプリケーションがヘッダー ファイルの #include ステートメントの前またはコンパイル時に "UNICODE" を定義している場合、ステートメントは Unicode 関数にコンパイルされます。

アプリケーションでは、汎用文字列型および汎用文字型の汎用関数プロトタイプを常に使用してください。 大文字 "W" で終わるすべての関数名は Unicode、つまりワイド文字のパラメーターを受け取ります。

表示: