Función JetGetSystemParameter

Se aplica a: Windows | Windows Server

Función JetGetSystemParameter

La función JetGetSystemParameter lee las numerosas opciones de configuración del motor de base de datos.

    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

Instancia que se va a usar para esta llamada.

Para Windows 2000, este parámetro se omite y siempre debe ser NULL.

En el caso de Windows XP y versiones posteriores, este parámetro está sobrecargado en cierto modo. Si el motor funciona en modo heredado (modo de compatibilidad de Windows 2000) donde solo se admite una instancia, este parámetro puede ser NULL o puede contener la instancia real devuelta por JetInit. En cualquier caso, se leen todas las configuraciones de parámetros del sistema de esa instancia. Si el motor funciona en modo de varias instancias, este parámetro puede ser NULL o un puntero a una instancia creada mediante JetInit o JetCreateInstance. Cuando este parámetro es NULL , se lee la configuración de parámetros del sistema global (o valor predeterminado). Cuando este parámetro es una instancia, se lee la configuración del parámetro del sistema para esa instancia.

sesid

Sesión que se va a usar para esta llamada.

Cuando se especifica, se omite la instancia especificada y se usará la instancia asociada a la sesión.

paramid

Identificador del parámetro del sistema que se leerá.

Consulte Parámetros del sistema para obtener una lista completa de los parámetros del sistema y sus propiedades.

plParam

Búfer de salida que recibe el valor del parámetro del sistema seleccionado si ese parámetro del sistema es de un tipo entero.

szParam

Búfer de salida que recibe el valor del parámetro del sistema seleccionado si ese parámetro del sistema es de un tipo de cadena.

cbMax

Tamaño máximo en bytes del búfer de salida de cadena.

Valor devuelto

Esta función devuelve el tipo de datos JET_ERR con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errClientRequestToStopJetService

No es posible completar la operación porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errInitInProgress

No es posible completar la operación porque se inicializa la instancia asociada a la sesión.

JET_errInstanceUnavailable

No es posible completar la operación porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos. Windows XP solo devolverá este error y versiones posteriores.

JET_errInvalidParameter

Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro.

Esto puede ocurrir para JetGetSystemParameter cuando:

  • El identificador de parámetro del sistema especificado no es válido o no es compatible.

  • El parámetro del sistema especificado requiere que se proporcione el búfer de salida entero y que el puntero del búfer de salida sea NULL.

  • El parámetro del sistema especificado requiere que se proporcione un búfer de salida de cadena y que el puntero del búfer de salida sea NULL.

    Windows Vista: Esto solo puede ocurrir en Windows Vista y versiones posteriores.

  • El parámetro del sistema especificado requiere que se proporcione un búfer de salida de cadena y el tamaño de ese búfer de salida sea demasiado pequeño para aceptar una cadena terminada en null.

    Windows Vista: Esto solo puede ocurrir en Windows Vista y versiones posteriores.

  • El parámetro del sistema especificado no se puede leer porque es de solo escritura.

  • El parámetro del sistema especificado solo es global y se intentó leer un valor específico de instancia para ese parámetro del sistema. Esto solo puede ocurrir en Windows XP y versiones posteriores.

  • El parámetro del sistema especificado es solo por instancia y se intentó leer el valor global de ese parámetro del sistema. Esto solo puede ocurrir en Windows XP y versiones posteriores.

JET_errNotInitialized

No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRestoreInProgress

No es posible completar la operación porque hay una operación de restauración en curso en la instancia asociada a la sesión.

JET_errTermInProgress

No es posible completar la operación porque se está cerrando la instancia asociada a la sesión.

JET_errInvalidSesid

El identificador de sesión no es válido o hace referencia a una sesión cerrada. Este error no se devuelve en todas las circunstancias. Los identificadores solo se validan con el mejor esfuerzo.

JET_errInvalidInstance

El identificador de instancia no es válido o hace referencia a una instancia que se ha apagado. Este error no se devuelve en todas las circunstancias. Los identificadores solo se validan con el mejor esfuerzo.

Windows Vista: Windows Vista solo devolverá este error y versiones posteriores.

JET_wrnBufferTruncated

La operación se completó correctamente, pero el búfer de salida era demasiado pequeño para recibir toda la configuración del parámetro del sistema.

El búfer de salida se ha rellenado con la mayor parte de la configuración del parámetro del sistema que cabría. Si el búfer de salida tiene al menos un carácter de longitud, la cadena de ese búfer de salida finalizará en null.

Nota Todas las versiones no devuelven este error. Consulte la sección Comentarios para obtener más información.

JET_errBufferTooSmall

Error en la operación porque el búfer de salida era demasiado pequeño para recibir toda la configuración del parámetro del sistema.

Nota Este error no se devuelve en algunos casos para conservar la compatibilidad de la aplicación. Consulte la sección Comentarios para obtener más información.

Windows Vista: Windows Vista solo devolverá este error y versiones posteriores.

Si se ejecuta correctamente, el búfer de salida adecuado para el parámetro del sistema solicitado se establecerá en el valor de ese parámetro del sistema.

En caso de error, el estado de los búferes de salida no estará definido.

Observaciones

Hay un problema importante en esta API que está presente en todas las versiones. Si se solicita un parámetro del sistema con un valor de cadena y el búfer de salida es demasiado pequeño para recibir toda la configuración del parámetro del sistema, no se devolverá JET_wrnBufferTruncated. JET_errSuccess se devuelve en su lugar. Si la longitud de la cadena devuelta es igual al tamaño del búfer de salida menos el terminador NULL , el autor de la llamada debe reaccionar como si se devolva JET_wrnBufferTruncated. Si se especifica un búfer de salida de cadena de tamaño cero, el autor de la llamada debe reaccionar como si se devolva JET_errInvalidParameter.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetGetSystemParameterW (Unicode) y JetGetSystemParameterA (ANSI).

Consulte también

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetInit
JetSetSystemParameter
JetStopService
Parámetros del sistema