Função JetGetSystemParameter

Aplica-se a: Windows | Windows Server

Função JetGetSystemParameter

A função JetGetSystemParameter lê as várias definições de configuração do mecanismo de banco de dados.

    JET_ERR JET_API JetGetSystemParameter(
      __in          JET_INSTANCE instance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in_out_opt  JET_API_PTR* plParam,
      __out_opt     JET_PSTR szParam,
      __in          unsigned long cbMax
    );

Parâmetros

instance

A instância a ser usada para essa chamada.

Para o Windows 2000, esse parâmetro é ignorado e sempre deve ser NULL.

Para o Windows XP e versões posteriores, esse parâmetro está um pouco sobrecarregado. Se o mecanismo estiver operando no modo herdado (modo de compatibilidade do Windows 2000) em que apenas uma instância tem suporte, esse parâmetro poderá ser NULL ou conter a instância real retornada pelo JetInit. Em ambos os casos, todas as configurações de parâmetro do sistema são lidas dessa instância. Se o mecanismo estiver operando no modo de várias instâncias, esse parâmetro poderá ser NULL ou um ponteiro para uma instância criada usando JetInit ou JetCreateInstance. Quando esse parâmetro é NULL , a configuração de parâmetro do sistema global (ou padrão) é lida. Quando esse parâmetro é uma instância, a configuração de parâmetro do sistema para essa instância é lida.

sesid

A sessão a ser usada para essa chamada.

Quando especificado, a instância especificada é ignorada e a instância associada à sessão será usada.

paramid

A ID do parâmetro do sistema que será lido.

Consulte Parâmetros do sistema para obter uma lista completa de parâmetros do sistema e suas propriedades.

plParam

O buffer de saída que receberá o valor do parâmetro do sistema selecionado se esse parâmetro do sistema for de um tipo inteiro.

szParam

O buffer de saída que receberá o valor do parâmetro do sistema selecionado se esse parâmetro do sistema for de um tipo de cadeia de caracteres.

cbMax

O tamanho máximo em bytes do buffer de saída da cadeia de caracteres.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

JET_errClientRequestToStopJetService

Não é possível concluir a operação porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errInitInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo inicializada.

JET_errInstanceUnavailable

Não é possível concluir a operação porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errInvalidParameter

Um dos parâmetros fornecidos continha um valor inesperado ou continha um valor que não fazia sentido quando combinado com o valor de outro parâmetro.

Isso pode acontecer para JetGetSystemParameter quando:

  • A ID de parâmetro do sistema especificada é inválida ou não tem suporte.

  • O parâmetro de sistema especificado requer que o buffer de saída de inteiro seja fornecido e que o ponteiro do buffer de saída seja NULL.

  • O parâmetro de sistema especificado requer que um buffer de saída de cadeia de caracteres seja fornecido e que o ponteiro do buffer de saída seja NULL.

    Windows Vista: Isso só pode acontecer no Windows Vista e em versões posteriores.

  • O parâmetro de sistema especificado requer que um buffer de saída de cadeia de caracteres seja fornecido e o tamanho desse buffer de saída seja muito pequeno para aceitar uma cadeia de caracteres terminada em nulo.

    Windows Vista: Isso só pode acontecer no Windows Vista e em versões posteriores.

  • O parâmetro do sistema especificado não pode ser lido porque é somente gravação.

  • O parâmetro de sistema especificado é apenas global e foi feita uma tentativa de ler um valor específico de instância para esse parâmetro de sistema. Isso só pode acontecer no Windows XP e em versões posteriores.

  • O parâmetro do sistema especificado é somente por instância e foi feita uma tentativa de ler o valor global desse parâmetro do sistema. Isso só pode acontecer no Windows XP e em versões posteriores.

JET_errNotInitialized

Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada.

JET_errRestoreInProgress

Não é possível concluir a operação porque uma operação de restauração está em andamento na instância associada à sessão.

JET_errTermInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo desligada.

JET_errInvalidSesid

O identificador de sessão é inválido ou se refere a uma sessão fechada. Esse erro não é retornado em todas as circunstâncias. Os identificadores são validados apenas com base no melhor esforço.

JET_errInvalidInstance

O identificador de instância é inválido ou se refere a uma instância que foi desligada. Esse erro não é retornado em todas as circunstâncias. Os identificadores são validados apenas com base no melhor esforço.

Windows Vista: Esse erro só será retornado pelo Windows Vista e versões posteriores.

JET_wrnBufferTruncated

A operação foi concluída com êxito, mas o buffer de saída era muito pequeno para receber toda a configuração de parâmetro do sistema.

O buffer de saída foi preenchido com a maior parte da configuração de parâmetro do sistema que se ajustaria. Se o buffer de saída tiver pelo menos um caractere de comprimento, a cadeia de caracteres nesse buffer de saída será terminada em nulo.

Nota Esse erro não é retornado por todas as versões. Consulte a seção Comentários para obter mais informações.

JET_errBufferTooSmall

A operação falhou porque o buffer de saída era muito pequeno para receber toda a configuração de parâmetro do sistema.

Nota Esse erro não é retornado em alguns casos para preservar a compatibilidade do aplicativo. Consulte a seção Comentários para obter mais informações.

Windows Vista: Esse erro só será retornado pelo Windows Vista e versões posteriores.

Em caso de êxito, o buffer de saída apropriado para o parâmetro do sistema solicitado será definido como o valor desse parâmetro do sistema.

Em caso de falha, o estado dos buffers de saída será indefinido.

Comentários

Há um problema importante nessa API que está presente em todas as versões. Se um parâmetro do sistema com um valor de cadeia de caracteres for solicitado e o buffer de saída for muito pequeno para receber toda a configuração de parâmetro do sistema, JET_wrnBufferTruncated NÃO será retornado. JET_errSuccess é retornado. Se o comprimento da cadeia de caracteres retornada for igual ao tamanho do buffer de saída menos o terminador NULL , o chamador deverá reagir como se JET_wrnBufferTruncated fosse retornado. Se um buffer de saída de cadeia de caracteres de tamanho zero for especificado, o chamador deverá reagir como se JET_errInvalidParameter fossem retornados.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Unicode

Implementado como JetGetSystemParameterW (Unicode) e JetGetSystemParameterA (ANSI).

Consulte Também

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetInit
JetSetSystemParameter
JetStopService
Parâmetros do sistema