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 引號時:
- 會移除前置和尾端引號。
- 捨棄第一個引號之前的空格符。
- 最後一個引號結尾的空格符會被捨棄。
- 逸出會移除,並保留逸出之後的字元。
- 前置空格符會被捨棄。
- 尾端空格符會保留。
- 逸出的非特殊字元會傳回錯誤。
- 未逸出的特殊字元會傳回錯誤。
- 以 # 開頭的 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 |