共用方式為


DsUnquoteRdnValueA 函式 (dsarse.h)

DsUnquoteRdnValue 函式是用戶端呼叫,可將引號 RDN 值轉換回未加上引號的 RDN 值。 因為 RDN 原本是放入引號中,因為它包含在辨別名稱 (DN) 內嵌時可能會被誤解的字元,所以使用 LDAP 等各種 API,不應將未加上引號的 RDN 值提交至目錄服務。

語法

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 值處理,並據以轉換。
  • 逸出十六進位數位 (\89) 會轉換成二進位位元組(0x89)。
  • 逸出會從逸出的特殊字元中移除。
一律會採取下列動作:
  • 逸出的特殊字元未逸出。
  • 輸入和輸出 RDN 值不是 Null 終止的值。

注意

dsparse.h 標頭會根據 UNICODE 預處理器常數的定義,將 DsUnquoteRdnValue 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows Vista
支援的最低伺服器 Windows Server 2008
目標平臺 窗戶
標頭 dsparse.h (包括 Ntdsapi.h)
連結庫 Ntdsapi.lib
DLL Ntdsapi.dll

另請參閱

域控制器和復寫管理功能

DsQuoteRdnValue