IADsPathname-Eigenschaftsmethoden
Die Eigenschaftenmethoden der IADsPathname-Schnittstelle erhalten oder legen die EscapedMode-Eigenschaften fest. Weitere Informationen finden Sie unter Schnittstelleneigenschaftsmethoden.
Eigenschaften
-
EscapedMode
-
-
Zugriffstyp: Lesen/Schreiben
-
Skriptdatentyp: Long
-
// C++ method syntax HRESULT get_EscapedMode( [out] long* retval ); HRESULT get_EscapedMode( [in] long* lnEscapedMode );
Untersuchen Oder geben Sie an, wie Escapezeichen in einem Pfadnamen behandelt werden. Weitere Informationen und definierte Optionen finden Sie unter ADS _ ESCAPE MODE _ _ ENUM.
-
Hinweise
EscapedMode stellt einen Zustand dar. Sie können sie aktivieren oder deaktivieren, indem Sie sie auf _ ADS ESCAPEDMODE ON oder _ ADS _ ESCAPEDMODE _ OFF/ADS _ ESCAPEDMODE _ OFF EX _ festlegen. Wenn sie aktiviert oder deaktiviert wird, erzeugen alle nachfolgenden Abrufe Pfadzeichenfolgen mit Escape- oder Escape-Escape-Zeichen.
In ADSI kann nur der IADsPathname Pfade entfernen. Alle anderen ADSI-Schnittstellen geben immer Pfade zurück, die mit Escape escapet sind. Der Standardzustand von EscapedMode ist ADS _ ESCAPEDMODE _ DEFAULT, wie in ADS ESCAPE _ MODE _ _ ENUM definiert.
Beispiele
Das folgende Codebeispiel zeigt, wie die EscapedMode-Eigenschaft verwendet wird, um Escapezeichen für die folgenden drei Sonderzeichen zu aktivieren/deaktivieren: "=", ",", " und "/".
Dim path As New Pathname
path.Set "CN=joy\=ful\,\/*", ADS_SETTYPE_DN
path.EscapedMode = ADS_ESCAPEDMODE_ON
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS) ' All escaped, producing:
' "LDAP://CN=joy\=ful\,\/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS) ' Only "/" is unescaped:
' "LDAP://CN=joy\=ful\,/*"
path.EscapedMode = ADS_ESCAPEDMODE_OFF_EX
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS) ' All are unescaped:
' "LDAP://CN=joy=ful,/*"
path.Set "LDAP://CN=joy\=ful\,\/*", ADS_SETTYPE_FULL
path.EscapedMode = ADS_ESCAPEDMODE_ON
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy\=ful\,\/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy\=ful\,/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF_EX
MsgBox path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy=ful,/*"
Das folgende Codebeispiel zeigt, wie die EscapedMode-Eigenschaft verwendet wird, um Escapezeichen für die folgenden drei Sonderzeichen zu aktivieren/deaktivieren: "=", ",", " und "/".
<%
Dim path
const ADS_SETTYPE_FULL = 1
const ADS_SETTYPE_DN = 4
const ADS_FORMAT_WINDOWS = 1
const ADS_ESCAPEDMODE_ON = 2
const ADS_ESCAPEDMODE_OFF = 3
const ADS_ESCAPEDMODE_OFF_EX = 4
Set path = CreateObject("Pathname")
path.Set "CN=joy\=ful\,\/*", ADS_SETTYPE_DN
path.EscapedMode = ADS_ESCAPEDMODE_ON
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS)
' All escaped, producing: "LDAP://CN=joy\=ful\,\/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS)
' Only "/" is unescaped: "LDAP://CN=joy\=ful\,/*"
path.EscapedMode = ADS_ESCAPEDMODE_OFF_EX
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS) ' All are unescaped:
' "LDAP://CN=joy=ful,/*"
path.Set "LDAP://CN=joy\=ful\,\/*", ADS_SETTYPE_FULL
path.EscapedMode = ADS_ESCAPEDMODE_ON
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy\=ful\,\/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy\=ful\,/*"
path.EscapedMode = ADS_ESCAPEMODE_OFF_EX
Response.Write path.Retrieve(ADS_FORMAT_WINDOWS)
' Produces "LDAP://CN=joy=ful,/*"
%>
Im folgenden Codebeispiel wird die Verwendung der EscapedMode-Eigenschaft veranschaulicht. Fehlerüberprüfung wird ignoriert.
IADsPathname *pPathname=NULL;
HRESULT hr;
hr = CoCreateInstance(CLSID_Pathname,
NULL,
CLSCTX_INPROC_SERVER,
IID_IADsPathname,
(void**)&pPathname);
if(FAILED(hr))
{
if(pPathname) pPathname->Release();
return NULL;
}
pPathname->AddRef();
hr = pPathname->Set(CComBSTR("LDAP://CN=joy/ful\/*"),
ADS_SETTYPE_FULL);
hr = pPathname->put_EscapedMode(ADS_ESCAPEDMODE_OFF);
hr = pPathname->Retrieve(ADS_FORMAT_WINDOWS_DN,&bstr);
printf("Unescaped path: %S\n",bstr);
// Producing "LDAP://CN=joy/ful/*"
SysFreeString(bstr);
hr = pPathname->put_EscapedMode(ADS_ESCAPEDMODE_ON);
hr = pPathname->Retrieve(ADS_FORMAT_WINDOWS_DN,&bstr);
printf("Escaped path: %S\n",bstr);
// Producing "LDAP://CN=joy/ful\/*"
SysFreeString(bstr);
// Set the path using ADS_SETTYPE_DN
hr = pPathname->Set(CComBSTR("CN=joy/ful\/*"), ADS_SETTYPE_DN);
hr = pPathname->put_EscapedMode(ADS_ESCAPEDMODE_OFF);
hr = pPathname->Retrieve(ADS_FORMAT_WINDOWS_DN,&bstr);
printf("Unescaped path: %S\n",bstr);
// Producing "LDAP://CN=joy/ful/*"
SysFreeString(bstr);
hr = pPathname->put_EscapedMode(ADS_ESCAPEDMODE_ON);
hr = pPathname->Retrieve(ADS_FORMAT_WINDOWS_DN,&bstr);
printf("Escaped path: %S\n",bstr);
// Producing "LDAP://CN=joy\/ful\/*"
SysFreeString(bstr);
hr = pPathname->Release();
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Vista |
| Unterstützte Mindestversion (Server) |
Windows Server 2008 |
| Header |
|
| DLL |
|
| IID |
IID _ IADsPathname ist als D592AED4-F420-11D0-A36E-00C04FB950DC definiert. |