DsUnquoteRdnValueA 関数 (dsparse.h)

DsUnquoteRdnValue 関数は、引用符で囲まれた RDN 値を引用符で囲まれていない RDN 値に変換するクライアント呼び出しです。 RDN は、識別名 (DN) 内に埋め込まれたときに誤って解釈される可能性のある文字が含まれているため、RDN は最初は引用符で囲まれていたため、引用符で囲まれていない RDN 値は、LDAP などのさまざまな API を使用して DN の一部としてディレクトリ サービスに送信しないでください。

構文

DSPARSE DWORD DsUnquoteRdnValueA(
  [in]      DWORD cQuotedRdnValueLength,
  [in]      LPCCH psQuotedRdnValue,
  [in, out] DWORD *pcUnquotedRdnValueLength,
  [out]     LPCH  psUnquotedRdnValue
);

パラメーター

[in] cQuotedRdnValueLength

psQuotedRdnValue 文字列内の文字数。

[in] psQuotedRdnValue

引用符で囲んでエスケープできる RDN 値。

[in, out] pcUnquotedRdnValueLength

この引数の入力値は、 psQuotedRdnValue の最大長 (文字数) です。

この引数の出力値には、次のフラグが含まれます。

ERROR_SUCCESS

これは、 文字数が psQuotedRdnValue で使用される文字列と一致する場合に返されます。

ERROR_BUFFER_OVERFLOW

これは、文字数が psQuotedRdnValue で使用される文字列と一致しない場合に返されます。

[out] psUnquotedRdnValue

変換された引用符で囲まれていない RDN 値。

戻り値

次の一覧には、 DsUnquoteRdnValue 関数で返される可能性のある値が含まれています。

解説

psQuotedRdnValue が引用符で囲まれる場合:

  • 先頭と末尾の引用符が削除されます。
  • 最初の引用符が破棄される前の空白。
  • 最後の引用符の末尾の空白は破棄されます。
  • エスケープは削除され、エスケープの後の文字は保持されます。
psQuotedRdnValue が引用符で囲まれていない場合は、次のアクションが実行されます。
  • 先頭の空白は破棄されます。
  • 末尾の空白は保持されます。
  • エスケープされた特殊文字以外の文字はエラーを返します。
  • エスケープされていない特殊文字はエラーを返します。
  • # で始まる RDN 値 (先頭の空白を無視) は、以前に文字列に変換され、それに応じて変換された BER 値として処理されます。
  • エスケープされた 16 進数 (\89) は、バイナリ バイト (0x89) に変換されます。
  • エスケープされた特殊文字からエスケープが削除されます。
次のアクションは常に実行されます。
  • エスケープされた特殊文字はエスケープされません。
  • 入力 RDN 値と出力 RDN 値は null で終わる値ではありません。

注意

dsparse.h ヘッダーは、DsUnquoteRdnValue をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー dsparse.h (Ntdsapi.h を含む)
Library Ntdsapi.lib
[DLL] Ntdsapi.dll

関連項目

ドメイン コントローラーとレプリケーション管理機能

DsQuoteRdnValue