DsUnquoteRdnValueA 函式 (dsparse.h)

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

語法

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

需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 dsparse.h (包含 Ntdsapi.h)
程式庫 Ntdsapi.lib
Dll Ntdsapi.dll

另請參閱

網域控制站和複寫管理功能

DsQuoteRdnValue