Métodos de propriedade IADsClass
Os métodos de propriedade da interface IADsClass obtêm ou definem as propriedades a seguir. Para obter mais informações, consulte Métodos de propriedade de interface.
Propriedades
-
Resumo
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BOOLEAN
-
// C++ method syntax HRESULT get_Abstract( [out] BOOLEAN* pbAbstract ); HRESULT put_Abstract( [in] BOOLEAN bAbstract );
Valor booliano que indica se essa classe é Abstrata ou não abstrata. Quando TRUE, essa classe é uma classe Abstract e não pode ser instanciada diretamente no serviço de diretório. Classes abstratas só podem ser usadas como super classes.
-
-
AuxDerivedFrom
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_AuxDerivedFrom( [out] VARIANT* pvAuxDerivedFrom ); HRESULT put_AuxDerivedFrom( [in] VARIANT vAuxDerivedFrom );
Matriz de cadeias de caracteres ADsPath que indicam as classes super auxiliares das quais essa classe deriva.
-
-
Auxiliar
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BOOLEAN
-
// C++ method syntax HRESULT get_Auxiliary( [out] BOOLEAN* pbAuxiliary ); HRESULT put_Auxiliary( [in] BOOLEAN bAuxiliary );
Valor booliano que indica se essa classe é auxiliar ou não. Quando TRUE, essa classe é uma classe Auxiliar e não pode ser instanciada diretamente no serviço de diretório. Classes auxiliares só podem ser usadas como super classes de outras classes auxiliares ou como uma fonte de propriedades adicionais em classes estruturais.
-
-
CLSID
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BSTR
-
// C++ method syntax HRESULT get_CLSID( [out] BSTR* pbstrCLSID ); HRESULT put_CLSID( [in] BSTR bstrCLSID );
CLSID opcional específico do provedor que identifica o objeto COM que implementa essa classe.
-
-
Contêiner
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BOOLEAN
-
// C++ method syntax HRESULT get_Container( [out] BOOLEAN* pbContainer ); HRESULT put_Container( [in] BOOLEAN bContainer );
Valor booliano que indica se essa classe pode ser um contêiner de outras classes de objeto. Se esse valor for TRUE, você poderá chamar o método get_Container para obter uma matriz das classes de objeto que essa classe pode conter.
-
-
Contenção
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_Containment( [out] VARIANT* pvContainment ); HRESULT put_Containment( [in] VARIANT vContainment );
Uma matriz BSTR na qual cada elemento é o nome de uma classe de objeto que essa classe pode conter.
-
-
DerivedFrom
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_DerivedFrom( [out] VARIANT* pvDerivedFrom ); HRESULT put_DerivedFrom( [in] VARIANT vDerivedFrom );
Matriz de cadeias de caracteres ADsPath que indicam de quais classes essa classe foi derivada.
-
-
HelpFileContext
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: long
-
// C++ method syntax HRESULT get_HelpFileContext( [out] long* plHelpContext ); HRESULT put_HelpFileContext( [in] long lHelpContext );
ID de contexto dentro de HelpFileName em que informações específicas para essa classe podem ser encontradas.
-
-
HelpFileName
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BSTR
-
// C++ method syntax HRESULT get_HelpFileName( [out] BSTR* pbstrHelpFileName ); HRESULT put_HelpFileName( [in] BSTR bstrHelpFileName );
Nome de um arquivo de ajuda que contém mais informações sobre objetos dessa classe.
-
-
MandatoryProperties
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_MandatoryProperties( [out] VARIANT* pvarMandatoryProperties ); HRESULT put_MandatoryProperties( [in] VARIANT varMandatoryProperties );
SAFEARRAY de VARIANTs que lista as propriedades que devem ser definidas para que essa classe seja gravada no armazenamento. Se a classe contiver apenas uma propriedade, get_MandatoryProperties retornará um BSTR.
-
-
NamingProperties
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_NamingProperties( [out] VARIANT* pvarNamingProperties ); HRESULT put_NamingProperties( [in] VARIANT varNamingProperties );
SAFEARRAY de BSTRs que lista as propriedades usadas para nomear atributos dessa classe de esquema.
-
-
OID
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: BSTR
-
// C++ method syntax HRESULT get_OID( [out] BSTR* pbstrOID ); HRESULT put_OID( [in] BSTR bstrOID );
Identificador de objeto específico do provedor que define essa classe. Isso é fornecido para permitir a extensão de esquema, usando o Active Directory, em serviços de diretório que exigem OIDs específicos do provedor para classes.
-
-
OptionalProperties
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_OptionalProperties( [out] VARIANT* pvarOptionalProperties ); HRESULT put_OptionalProperties( [in] VARIANT varOptionalProperties );
SAFEARRAY de VARIANTs que lista as propriedades opcionais para essa classe de esquema. Se a classe contiver apenas uma propriedade, get_OptionalProperties retornará um BSTR.
-
-
PossibleSuperiors
-
-
Tipo de acesso: leitura/gravação
-
Tipo de dados de script: VARIANT
-
// C++ method syntax HRESULT get_PossibleSuperiors( [out] VARIANT* pvSuperiors ); HRESULT put_PossibleSuperiors( [in] VARIANT vSuperiors );
Matriz de cadeias de caracteres ADsPath que indicam as classes de esquema que podem conter instâncias dessa classe.
-
-
PrimaryInterface
-
-
Tipo de acesso: Somente leitura
-
Tipo de dados de script: BSTR
-
// C++ method syntax HRESULT get_PrimaryInterface( [out] BSTR* pbstrGUID );
GUID de identificador específico do provedor opcional que associa uma interface a objetos dessa classe de esquema. Por exemplo, a classe "User" que dá suporte a IADsUser e PrimaryInterface é identificada por IID_IADsUser. Isso deve estar no formato de cadeia de caracteres padrão de um GUID, conforme definido por COM. Esse GUID é o valor que aparece na propriedade IADs::get_GUID em instâncias dessa classe para provedores que implementam essa propriedade. Identificar uma classe de esquema por IID da interface primária do código de classe permite o uso de QueryInterface em tempo de execução para determinar se um objeto é da classe desejada.
-
Exemplos
O exemplo de código a seguir mostra como usar a interface IADsClass para determinar se um objeto pode ser um contêiner e, nesse caso, lista os nomes de qualquer objeto contido.
Dim ads As IADs
Dim cls As IADsClass
On Error GoTo Cleanup
Set ads = GetObject("WinNT://myComputer,computer")
Set cls = GetObject(ads.Schema)
if cls.Container = True Then
MsgBox "This object contains the following children:"
For Each o In cls.Containment
MsgBox o
Next
End If
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set ads = Nothing
Set cls = Nothing
O exemplo de código a seguir mostra como usar a interface IADsClass para determinar se um objeto pode ser um contêiner e, nesse caso, lista os nomes de qualquer objeto contido.
HRESULT hr = S_OK;
IADsClass *pCls = NULL;
IADs *pADs = NULL;
BSTR bstrSchema;
VARIANT var;
hr = CoInitialize(NULL);
hr = ADsGetObject(L"WinNT://myComputer,computer",
IID_IADs,
(void**)&pADs);
if (FAILED(hr)) {goto Cleanup;}
hr = pADs->get_Schema(&bstrSchema);
pADs->Release();
if(FAILED(hr)) {goto Cleanup;}
hr = ADsGetObject(bstrSchema, IID_IADsClass, (void**)&pCls);
if(FAILED(hr)) {goto Cleanup;}
VariantInit(&var);
VARIANT_BOOL bCont;
pCls->get_Container(&bCont);
if(bCont != false) {
VariantClear(&var);
pCls->get_Containment(&var);
hr = printVarArray(var);
}
Cleanup:
if(pADs)
pADs->Release();
if(pCls)
pCls->Release();
SysFreeString(bstrSchema);
CoUninitialize();
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Cabeçalho |
|
DLL |
|
IID |
IID_IADsClass é definido como C8F93DD0-4AE0-11CF-9E73-00AA004A5691 |