DsUnquoteRdnValueA-Funktion (dsparse.h)

Die DsUnquoteRdnValue-Funktion ist ein Clientaufruf, der einen RDN-Wert in Anführungszeichen zurück in einen RDN-Wert ohne Anführungszeichen konvertiert. Da das RDN ursprünglich in Anführungszeichen gesetzt wurde, weil es Zeichen enthielt, die falsch interpretiert werden konnten, wenn es in einen distinguished name (DN) eingebettet wurde, sollte der RDN-Wert ohne Anführungszeichen nicht als Teil eines DN mithilfe verschiedener APIs wie LDAP an den Verzeichnisdienst übermittelt werden.

Syntax

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

Parameter

[in] cQuotedRdnValueLength

Die Anzahl der Zeichen in der psQuotedRdnValue-Zeichenfolge .

[in] psQuotedRdnValue

Der RDN-Wert, der in Anführungszeichen angegeben und mit Escapezeichen versehen werden kann.

[in, out] pcUnquotedRdnValueLength

Der Eingabewert für dieses Argument ist die maximale Länge von psQuotedRdnValue in Zeichen.

Der Ausgabewert für dieses Argument enthält die folgenden Flags.

ERROR_SUCCESS

Dies wird zurückgegeben, wenn die Anzahl der Zeichen mit der in psQuotedRdnValue verwendeten Zeichenfolge übereinstimmt.

ERROR_BUFFER_OVERFLOW

Dies wird zurückgegeben, wenn die Anzahl der Zeichen nicht mit der in psQuotedRdnValue verwendeten Zeichenfolge übereinstimmt.

[out] psUnquotedRdnValue

Der konvertierte RDN-Wert ohne Anführungszeichen.

Rückgabewert

Die folgende Liste enthält die möglichen Werte, die für die DsUnquoteRdnValue-Funktion zurückgegeben werden.

Hinweise

Wenn psQuotedRdnValue in Anführungszeichen steht:

  • Die führenden und nachfolgenden Anführungszeichen werden entfernt.
  • Leerzeichen, bevor das erste Anführungszeichen verworfen wird.
  • Leerzeichen nach dem letzten Anführungszeichen werden verworfen.
  • Escapezeichen werden entfernt, und das Zeichen, das dem Escapezeichen folgt, wird beibehalten.
Die folgenden Aktionen werden ausgeführt, wenn psQuotedRdnValue keine Anführungszeichen enthält:
  • Der führende Leerraum wird verworfen.
  • Der nachfolgende Leerraum wird beibehalten.
  • Nicht-Sonderzeichen mit Escapezeichen geben einen Fehler zurück.
  • Sonderzeichen ohne Escapezeichen geben einen Fehler zurück.
  • RDN-Werte, die mit # beginnen (wobei führende Leerzeichen ignoriert werden) werden als BER-Wert behandelt, der zuvor in eine Zeichenfolge konvertiert und entsprechend konvertiert wurde.
  • Mit Escapezeichen versehene Hexadenzimalstellen (\89) werden in ein binäres Byte (0x89) konvertiert.
  • Escapezeichen werden aus Sonderzeichen mit Escapezeichen entfernt.
Die folgenden Aktionen werden immer ausgeführt:
  • Sonderzeichen mit Escapezeichen sind nicht als Kulisse gekennzeichnet.
  • Die RDN-Werte für Eingabe und Ausgabe sind keine WERTE mit NULL-Beendigung.

Hinweis

Der dsparse.h-Header definiert DsUnquoteRdnValue als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile dsparse.h (ntdsapi.h einschließen)
Bibliothek Ntdsapi.lib
DLL Ntdsapi.dll

Weitere Informationen

Domänencontroller- und Replikationsverwaltungsfunktionen

DsQuoteRdnValue