IADsSyntax Property Methods
The property methods of the IADsSyntax interface get or set the properties listed in the following table. For more information about property methods, see Interface Property Methods.
Properties
-
OleAutoDataType
-
- VT_BOOL BOOL
- VT_BSTR BSTR
- VT_BSTRT BSTRT
- VT_CY CURRENCY
- VT_DATE Date
- VT_EMPTY NULL
- VT_ERROR Not valid
- VT_I2 short
- VT_I4 long
- VT_R4 real
- VT_R8 double
- VT_UI1 BYTE
-
Access type: Read/write
-
Scripting data type: LONG
-
// C++ method syntax HRESULT get_OleAutoDataType( [out] LONG* plAutoDataType ); HRESULT put_OleAutoDataType( [in] LONG lAutoDataType );
Retrieves and sets a LONG that contains the value of the VT_xxx constant for the Automation data type that represents this syntax.
Active Directory supports the following VT_xxx constants for the Automation data type that represents this syntax:
Remarks
An array of unsigned bytes, VT_UI1|VT_ARRAY could mean that the provider has mapped a syntax that cannot be mapped to an Automation virtual type.
Examples
The following code example examines the syntax of the OperatingSystemVersion attribute of a computer on a network through the WinNT provider. The result syntax is a string.
Dim obj As IADs
Dim cl As IADsClass
Dim pr As IADsProperty
Dim sy As IADsSyntax
Dim sc As IADsContainer
On Error GoTo Cleanup
Set obj = GetObject("WinNT://myMachine,computer")
Set cl = GetObject(obj.Schema)
Set sc = GetObject(cl.Parent)
Set pr = sc.GetObject("Property","OperatingSystemVersion")
Set sy = GetObject(sc.ADsPath & "/" & pr.Syntax)
MsgBox "Automation data types: " & sy.OleAutoDataType
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set obj = Nothing
Set cl = Nothing
Set pr = Nothing
Set sy = Nothing
Set sc = Nothing
The following code example examines the syntax of the OperatingSystemVersion attribute of a computer on a network through the WinNT provider. The result syntax is a string. For brevity, error checking is omitted.
#include <stdio.h>
#include <activeds.h>
#include <atlbase.h>
IADs *pObj = NULL;
IADsClass *pCls = NULL;
IADsProperty *pProp = NULL;
IADsSyntax *pSyn = NULL;
IADsContainer *pCont = NULL;
HRESULT hr = ADsGetObject(L"WinNT://myMachine,computer",
IID_IADs,
(void**)&pObj);
if(FAILED(hr)){goto Cleanup;}
VARIANT var;
VariantInit(&var);
CComBSTR sbstr;
pObj->get_Schema(&sbstr);
printf("Object schema: %S\n",sbstr);
hr = ADsGetObject(sbstr, IID_IADsClass,(void**)&pCls);
if(FAILED(hr)){goto Cleanup;}
pCls->get_Parent(&sbstr);
printf("Object class's container: %S\n", sbstr);
hr = ADsGetObject(sbstr, IID_IADsContainer, (void**)&pCont);
if(FAILED(hr)){goto Cleanup;}
pCont->QueryInterface(IID_IADs,(void**)&pObj);
pObj->get_ADsPath(&sbstr);
printf("Container's AdsPath: %S\n",sbstr);
IDispatch *pDisp;
hr = pCont->GetObject(CComBSTR("Property"),
CComBSTR("OperatingSystemVersion"),
(IDispatch**)&pDisp);
if(FAILED(hr)){goto Cleanup;}
hr = pDisp->QueryInterface(IID_IADsProperty, (void**)&pProp);
if(FAILED(hr)){goto Cleanup;}
hr = pProp->get_Syntax(&sbstr);
if(FAILED(hr)){goto Cleanup;}
printf("Property Syntax: %S\n",sbstr);
printf("ADsPath of the syntax object %S\n",sbstr);
hr = ADsGetObject(sbstr, IID_IADsSyntax, (void**)&pSyn);
if(FAILED(hr)){goto Cleanup;}
long lType;
pSyn->get_OleAutoDataType(&lType);
printf("Property syntax's OleAutoDataType: %d\n", lType);
Cleanup:
if(pObj)
pObj->Release();
if(pProp)
pProp->Release();
if(pCls)
pCls->Release();
if(pSyn)
pSyn->Release();
if(pCont)
pCont->Release();
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Header |
|
DLL |
|
IID |
IID_IADsSyntax is defined as C8F93DD2-4AE0-11CF-9E73-00AA004A5691 |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for