Condividi tramite


Funzione DsUnquoteRdnValueA (dsparse.h)

La funzione DsUnquoteRdnValue è una chiamata client che converte un valore RDN tra virgolette in un valore RDN senza virgolette. Poiché la rete RDN è stata originariamente inserita tra virgolette perché conteneva caratteri che potrebbero essere interpretati erroneamente quando è stata incorporata all'interno di un nome distinto (DN), il valore RDN senza virgolette non deve essere inviato come parte di un DN al servizio directory usando varie API, ad esempio LDAP.

Sintassi

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

Parametri

[in] cQuotedRdnValueLength

Numero di caratteri nella stringa psQuotedRdn Value.

[in] psQuotedRdnValue

Valore RDN che può essere racchiuso tra virgolette e preceduto da un carattere di escape.

[in, out] pcUnquotedRdnValueLength

Il valore di input per questo argomento è la lunghezza massima, espressa in caratteri, di psQuotedRdnValue.

Il valore di output per questo argomento include i flag seguenti.

ERROR_SUCCESS

Viene restituito se il numero di caratteri corrisponde alla stringa utilizzata in psQuotedRdnValue.

ERROR_BUFFER_OVERFLOW

Viene restituito se il numero di caratteri non corrisponde alla stringa utilizzata in psQuotedRdnValue.

[out] psUnquotedRdnValue

Valore RDN convertito senza virgo chiave.

Valore restituito

L'elenco seguente contiene i valori possibili restituiti per la funzione DsUnquoteRdnValue .

Osservazioni

Quando psQuotedRdnValue è racchiuso tra virgolette:

  • Le virgolette iniziali e finali vengono rimosse.
  • Spazi vuoti prima dell'eliminazione della prima citazione.
  • Gli spazi vuoti finali dell'ultima citazione vengono eliminati.
  • Le escape vengono rimosse e il carattere che segue l'escape viene mantenuto.
Quando psQuotedRdnValue è unquoted, vengono eseguite le azioni seguenti:
  • Lo spazio vuoto iniziale viene rimosso.
  • Lo spazio vuoto finale viene mantenuto.
  • I caratteri non speciali preceduti da escape restituiscono un errore.
  • I caratteri speciali senza caratteri di escape restituiscono un errore.
  • I valori RDN che iniziano con # (ignorando lo spazio vuoto iniziale) vengono gestiti come valore BER che in precedenza è stato convertito in una stringa e convertito di conseguenza.
  • Le cifre esadecimale con escape (\89) vengono convertite in un byte binario (0x89).
  • I caratteri di escape vengono rimossi dai caratteri speciali di escape.
Vengono sempre eseguite le azioni seguenti:
  • I caratteri speciali preceduti da escape sono senza caratteri di escape.
  • I valori RDN di input e output non sono valori con terminazione Null.

Nota

L'intestazione dsparse.h definisce DsUnquoteRdnValue come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
server minimo supportato Windows Server 2008
piattaforma di destinazione Finestre
intestazione dsparse.h (include Ntdsapi.h)
libreria Ntdsapi.lib
dll Ntdsapi.dll

Vedere anche

controller di dominio e funzioni di gestione della replica

DsQuoteRdnValue