Поделиться через


JET_CBTYP

Применимо к: Windows | Windows Server

JET_CBTYP

Группа JET_CBTYP констант описывает все возможные точки в операции, о чем ядро СУБД будет уведомлять приложение путем вызова функции обратного вызова JET_CALLBACK . Ядро СУБД передает одну из этих констант в параметре cbtyp функции обратного вызова. Значение других параметров, передаваемых ядром СУБД в этом вызове, зависит от конкретного переданного JET_CBTYP .

Windows XP: Группа JET_CBTYP констант представлена в Windows XP.

Констант/значение

Описание

JET_cbtypNull
0x00000000

Этот обратный вызов зарезервирован и всегда считается недопустимым.

JET_cbtypFinalize
0x00000001

Этот обратный вызов зарезервирован для использования в будущем.

JET_cbtypBeforeInsert
0x00000002

Этот обратный вызов будет выполняться непосредственно перед вставкой новой записи в таблицу путем вызова JetUpdate.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс, в который вставляется запись.

  • dbid: идентификатор базы данных таблицы, содержащей вставляемую запись.

  • tableid: курсор, подготовив новую запись для вставки. Важно отметить, что в настоящее время значение любой версии или столбцов с автоматическим приращением может быть неправильным.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL . Если обратный вызов возвращает ошибку, операция, вызывающая обратный вызов, завершится с ошибкой.

JET_cbtypAfterInsert
0x00000004

Этот обратный вызов будет выполнен сразу после вставки новой записи в таблицу путем вызова JetUpdate , но до того , как JetUpdate вернется к вызывающей.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс с только что вставленной записью.

  • dbid: идентификатор базы данных таблицы, содержащей только что вставленную запись.

  • tableid: курсор на таблицу, в которую была вставлена только что вставленная запись. Обратите внимание, что курсор по-прежнему располагается на той же записи индекса, что и при обратном вызове вставки. Кроме того, обратите внимание, что эта запись индекса не может быть каким-либо образом связана с вставляемой записью.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL Если обратный вызов возвращает ошибку, она будет игнорироваться.

JET_cbtypBeforeReplace
0x00000008

Этот обратный вызов будет выполняться непосредственно перед изменением существующей записи в таблице путем вызова JetUpdate.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс, в который требуется изменить запись.

  • dbid: идентификатор базы данных таблицы, содержащей изменяемую запись.

  • tableid: курсор, расположенный на записи индекса, связанной с изменяемой записью. Важно отметить, что в настоящее время значение любой версии или столбцов с автоматическим приращением может быть неправильным.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL . Если обратный вызов возвращает ошибку, операция, вызывающая обратный вызов, завершится с ошибкой.

JET_cbtypAfterReplace
0x00000010

Этот обратный вызов будет выполняться сразу после изменения существующей записи в таблице путем вызова JetUpdate , но до возврата JetUpdate вызывающей объекту.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс с записью, которая была только что изменена.

  • dbid: идентификатор базы данных таблицы, содержащей только что измененную запись.

  • tableid: курсор, расположенный на записи индекса, связанной с только что измененной записью.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL Если обратный вызов возвращает ошибку, она будет игнорироваться.

JET_cbtypBeforeDelete
0x00000020

Этот обратный вызов будет выполняться непосредственно перед удалением существующей записи в таблице путем вызова JetDelete.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс, в записи которого требуется удалить.

  • dbid: идентификатор базы данных таблицы, содержащей удаляемую запись.

  • tableid: курсор, расположенный на записи индекса, связанной с удаляемой записью.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL . Если обратный вызов возвращает ошибку, операция, вызывающая обратный вызов, завершится с ошибкой.

JET_cbtypAfterDelete
0x00000040

Этот обратный вызов будет выполняться сразу после удаления существующей записи в таблице путем вызова JetDelete , но до того , как JetDelete вернется к вызывающей.

Указатель функции для этой причины обратного вызова либо передается в JetCreateTableColumnIndex с помощью JET_TABLECREATE либо настраивается во время выполнения с помощью JetRegisterCallback. Дополнительные сведения см. в разделе JET_TABLECREATE или JetRegisterCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс с только что удаленной записью.

  • dbid: идентификатор базы данных таблицы, содержащей только что удаленную запись.

  • tableid: курсор, расположенный на записи индекса, связанной с только что удаленной записью.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: указатель контекста, передаваемый в JetRegisterCallback или NULL.

  • ulUnused: NULL

Если обратный вызов возвращает ошибку, она будет игнорироваться.

JET_cbtypUserDefinedDefaultValue
0x00000080

Этот обратный вызов будет происходить, когда подсистеме необходимо получить определенное пользователем значение столбца по умолчанию из приложения. Этот обратный вызов, по сути, является ограниченной реализацией JetRetrieveColumn , которая оценивается приложением. Для определяемого пользователем значения по умолчанию может быть возвращено не более одного значения столбца.

Указатель функции для этой причины обратного вызова передается в JetAddColumn с помощью структуры JET_USERDEFINEDDEFAULT или в JetCreateTableColumnIndex с помощью структуры JET_USERDEFINEDDEFAULT в структуре JET_COLUMNCREATE структуры JET_TABLECREATE .

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс, который вычисляет определенное пользователем значение по умолчанию.

  • dbid: идентификатор базы данных таблицы, содержащей определенное пользователем значение по умолчанию.

  • tableid: курсор, расположенный на записи, для которой извлекается определенное пользователем значение по умолчанию.

  • pvArg1: выходной буфер для определяемого пользователем значения по умолчанию.

  • pvArg2: на входных данных это размер выходного буфера. В выходных данных это фактический размер определенного пользователем значения по умолчанию. в любом случае размер представляет собой 32-разрядное целое число без знака.

  • pvContext: указатель на буфер, содержащий пользовательские данные, указанные в структуре JET_USERDEFINEDDEFAULT при создании столбца, или значение NULL, если контекст не предоставлен.

  • ulUnused: идентификатор столбца, для которого извлекается определенное пользователем значение по умолчанию.

Если обратный вызов возвращает ошибку, операция, вызывающая обратный вызов, завершится ошибкой с этой ошибкой.

Если JET_wrnBufferTruncated возвращается обратным вызовом, операция будет продолжена, но во время обратного вызова не будет получено все значение.

Если JET_wrnColumnNull возвращается обратным вызовом, операция будет продолжена, но определенное пользователем значение по умолчанию для столбца равно NULL.

JET_cbtypOnlineDefragCompleted
0x00000100

Этот обратный вызов будет происходить, когда дефрагментация базы данных в сети, инициированная JetDefragment , остановлена из-за завершения процесса или достижения предельного времени.

Указатель функции для этой причины обратного вызова передается в JetDefragment. Дополнительные сведения см. в разделе JetDefragment.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: сеанс, используемый для выполнения дефрагментации в сети для базы данных или JET_sesidNil для файла потоковой передачи.

  • dbid: идентификатор дефрагментаемой базы данных или JET_dbidNil для файла потоковой передачи.

  • tableid: JET_tableidNil

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Если обратный вызов возвращает ошибку, она будет игнорироваться.

JET_cbtypFreeCursorLS
0x00000200

Этот обратный вызов будет происходить, когда приложению необходимо очистить дескриптор контекста для локального хранилища, связанного с курсором, который освобождается ядром СУБД. Дополнительные сведения см. в разделе JetSetLS.

Указатель функции для этой причины обратного вызова настраивается с помощью JetSetSystemParameter с JET_paramRuntimeCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: дескриптор контекста, заданный с помощью JetSetLS.

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Если обратный вызов возвращает ошибку, она будет игнорироваться.

JET_cbtypFreeTableLS
0x00000400

Этот обратный вызов будет происходить в результате того, что приложению необходимо очистить дескриптор контекста для локального хранилища, связанного с таблицей, которая освобождается ядром СУБД. Дополнительные сведения см. в разделе JetSetLS.

Указатель функции для этой причины обратного вызова настраивается с помощью JetSetSystemParameter с JET_paramRuntimeCallback.

Параметры обратного вызова будут иметь следующие значения:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: дескриптор контекста, заданный с помощью JetSetLS.

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Если обратный вызов возвращает ошибку, она будет игнорироваться.

Требования

Требование Значение

Клиент

Требуется Windows Vista или Windows XP.

Сервер

Требуется Windows Server 2008 или Windows Server 2003.

Верхняя часть

Объявлено в Esent.h.

См. также:

JET_CALLBACK