IVsSettingsReader Interface

Definição

Fornece acesso de leitura às informações de configuração armazenadas no arquivo de configurações do Visual Studio.

public interface class IVsSettingsReader
public interface class IVsSettingsReader
__interface IVsSettingsReader
[System.Runtime.InteropServices.Guid("38C38501-1428-4ABB-8B27-2F0E1E6DD757")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsSettingsReader
[<System.Runtime.InteropServices.Guid("38C38501-1428-4ABB-8B27-2F0E1E6DD757")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsSettingsReader = interface
Public Interface IVsSettingsReader
Atributos

Exemplos

No exemplo a seguir, é uma implementação do ImportSettings , que lê em três valores de configurações. Esse método usa alguns dos valores recuperados para determinar como recuperar outro valor: o tamanho do buffer de entrada pTrashBytes é determinado pela recuperação do valor lTrashLength recuperado anteriormente.

Observação

A prática recomendada ao armazenar buffers ou cadeia de caracteres é salvar o tamanho do buffer armazenado ou da cadeia de caracteres, bem como do próprio objeto. Essas informações de tamanho devem ser sempre usadas ao recuperar o buffer salvo da cadeia de caracteres para evitar estouros de buffer.

HRESULT ImportSettings_CommandBars(IVsSettingsReader *pSettings, UserSettingsFlags flags, BOOL *pfRestartRequired)  
{  
    if (!pSettings)  
        return E_INVALIDARG;  

    if (pfRestartRequired)  
        {  
            *pfRestartRequired = FALSE; //Nobody should require a restart!!  
        }  

    CComBSTR bstrFirstSettingName;  
    long lTrashLength = 0;  
    BYTE *pTrashBytes = NULL;  

    //Determines whether we can treat import as an additive operation, or a reset all settings operation  
    BOOL fResetCompletely = FALSE;   

    if (flags & USF_ResetOnImport)  
        fResetCompletely = TRUE;  

    hr = pSettings->ReadSettingString(c_szFirstSettingName, &bstrFirstSettingName);  
    IfFailGo(hr);  

    hr = pSettings->ReadSettingLong(c_szRandomTrashLength, &lTrashLength);  
    IfFailGo(hr);  

    if (lTrashLength > 0)  
        {  
            pTrashBytes = (BYTE*)VSAlloc(lTrashLength);  
            IfNullMemGo(pTrashBytes);  

            long lDataRead = 0;  

            hr = pSettings->ReadSettingBytes(c_szRandomTrashLength, pTrashBytes, &lDataRead, lTrashLength);  
            IfFailGo(hr);  

            if (lDataRead != lTrashLength)  
    {  
        hr = E_UNEXPECTED;  
        goto Error;  
    }  
        }  

    //Note: before returning these settings should immediately be applied to your personal  
    //            settings store, whether in the registry or the file system.  
    //This write-through cache methodology is essential to allow us to work in multi-instance IDE scenarios.  
    hr = UpdateState_CommandBar(bstrFirstSettingName,lTrashLength,pTrashBytes,lDataRead);  

 Error:  
    return hr;  
};  

Comentários

Essa interface é implementada pelo ambiente.

Observações para chamadores

Chame a IVsSettingsReader interface ao recuperar as informações de configuração armazenadas de um VSPackage do Visual Studio arquivo de configurações.

Notas para implementadores

Somente VSPackages que registraram seu suporte para o Visual Studio mecanismo de configurações fazem uso da IVsSettingsReader interface. Para obter mais informações sobre como registrar um VSPackage que dê suporte ao Visual Studio mecanismo de configurações, consulte suporte para configurações do usuário.

Quando uma operação de importação de configurações foi selecionada no recurso de configurações de importação/exportação disponível no menu ferramentas do IDE, o ambiente passa uma IVsSettingsReader interface para o método de importação de configurações de VSPackage, que usa a interface para ler os dados de configuração. O SDK do Visual Studio oferece suporte a vários métodos de importação:

  • Para o assembly de interoperabilidade com base em VSPackages, o método de importação é a implementação do VSPackage do IVsUserSettings método da interface ImportSettings .

  • Para a maioria dos VSPackages com base em estrutura de pacote gerenciado, o método de importação é a implementação do VSPackage do IProfileManager método da interface LoadSettingsFromXml .

  • Para a estrutura de pacote gerenciada com base em VSPackages implementando a DialogPage interface, o método de importação é o método da interface LoadSettingsFromXml .

Para obter mais informações sobre como importar configurações, consulte como: usar assemblies de interoperabilidade para importar configurações ou Importar configurações.

Métodos

ReadCategoryVersion(Int32, Int32, Int32, Int32)

Retorna o valor de um objeto de versão de categoria armazenado no arquivo de configurações do Visual Studio.

ReadFileVersion(Int32, Int32, Int32, Int32)

Retorna o valor de um objeto de versão de arquivo armazenado no arquivo de configurações do Visual Studio.

ReadSettingAttribute(String, String, String)

Retorna o valor de um objeto de atributo armazenado no arquivo de configurações do Visual Studio.

ReadSettingBoolean(String, Int32)

Retorna o valor de um objeto booliano armazenado no arquivo de configurações do Visual Studio.

ReadSettingBytes(String, Byte, Int32, Int32)

Retorna os valores de uma matriz armazenada no arquivo de configurações do Visual Studio.

ReadSettingLong(String, Int32)

Retorna o valor de um objeto longo armazenado no arquivo de configurações do Visual Studio.

ReadSettingString(String, String)

Retorna o valor de um objeto de cadeia de caracteres armazenado no arquivo de configurações do Visual Studio.

ReadSettingXml(String, Object)

Retorna o valor de um objeto XML armazenado no arquivo de configurações do Visual Studio.

ReadSettingXmlAsString(String, String)

Retorna o valor de uma configuração XML como um objeto de cadeia de caracteres armazenado no arquivo de configurações do Visual Studio.

ReportError(String, UInt32)

Relata o status de erro da operação de leitura do arquivo de configurações.

Aplica-se a