Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdLock(	
  HANDLE hGrd,
  DWORD dwTimeoutWaitForUnlock,
  DWORD dwTimeoutAutoUnlock,
  DWORD dwMode
);	
Expand
titleПараметры функции

hGrd

хэндл, через который будет выполнена данная операция

dwTimeoutWaitForUnlock

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

Если dwTimeoutWaitForUnlock равен 0xFFFFFFFF, ожидание будет происходить неограниченно долго.

Если dwTimeoutWaitForUnlock равен 0, == no waiting

dwTimeoutAutoUnlock

параметр задает интервал времени в миллисекундах, на которое блокируется ключ. По истечении этого времени, если ключ не был разблокирован функцией GrdUnlock, драйвер снимает блокировку с ключа автоматически. 

Если dwTimeoutAutoUnlock равен 0xFFFFFFFF, время блокирования не ограничено и блокировка может быть снята только функцией GrdUnlock.

Если dwTimeoutAutoUnlock равен 0, время блокирования устанавливается равным 10000 мс (10 секунд). Этого времени должно с запасом хватить на выполнения блока несложных операций типа - чтения данных/их модификации/запись назад.

Для работы в сети данные таймауты лучше увеличивать так, чтобы за это время максимальное кол-во приложений успело выполнить данный фрагмент кода работы с ключом. Ну или писать код так, чтобы обрабатывать события автоматического разблокирования ключа.

dwMode

комбинация флагов GrdLM_XXXX, определяющих, доступ к каким именно операциям с ключом будет заблокирован

GrdLM_Nothing

Блокируется только вызов GrdLock из другого потока, процесса или даже компьютера (при работе в сети)

GrdLM_Init

Блокируются операции Init

GrdLM_Protect

Блокируются операции Protect

GrdLM_Transform

Блокируются операции Transform

GrdLM_Read

Блокируются операции Read

GrdLM_Write

Блокируются операции Write

GrdLM_Activate

Блокируются операции Activate

GrdLM_Deactivate

Блокируются операции Deactivate

GrdLM_ReadItem

Блокируются операции ReadItem

GrdLM_UpdateItem

Блокируются операции UpdateItem

GrdLM_All

Блокируются все перечисленные операции

Expand
titleВозвращаемое значение функции

Cтандартный набор ошибок

Card
labelC#
Code Block
languagec#
public static GrdE GrdLock(Handle grdHandle, uint timeoutAutoUnlock, uint timeoutWaitForUnlock, GrdLockMode mode)
Expand
titleПараметры метода

grdHandle [in]

Тип: Handle

Хэндл, через который будет выполнена данная операция

timeoutAutoUnlock [in]

Тип: uint

Параметр задает интервал времени в миллисекундах, на которое блокируется ключ. По истечении этого времени, если ключ не был разблокирован функцией GrdUnlock, драйвер снимает блокировку с ключа автоматически.

timeoutWaitForUnlock [in]

Тип: uint

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

mode [in]

Тип: GrdLockMode

Комбинация флагов GrdLockMode, которая определяет перечень заблокированных операций с ключом.
Expand
titleВозвращаемое значение метода

Cтандартный набор ошибок

Card
labelJava
Code Block
languagejava
 public static GrdE GrdLock( Handle grdHandle, int timeoutAutoUnlock, int timeoutWaitForUnlock, GrdLockMode lockMode)
Expand
titleПараметры метода

grdHandle [in]

 

Тип: Handle

Хэндл, через который будет выполнена данная операция

timeoutAutoUnlock [in]

Тип: int

Параметр задает интервал времени в миллисекундах, на которое блокируется ключ. По истечении этого времени, если ключ не был разблокирован функцией GrdUnlock, драйвер снимает блокировку с ключа автоматически

Если dwTimeoutAutoUnlock равен 0xFFFFFFFF, время блокирования не ограничено и блокировка может быть снята только функцией GrdUnlock.

Если dwTimeoutAutoUnlock равен 0, время блокирования устанавливается равным 10000 мс (10 секунд). Этого времени должно с запасом хватить на выполнения блока несложных операций типа - чтения данных/их модификации/запись назад.

Для работы в сети данные таймауты лучше увеличивать так, чтобы за это время максимальное кол-во приложений успело выполнить данный фрагмент кода работы с ключом

.

Ну или писать код так, чтобы обрабатывать события автоматического разблокирования ключа.

timeoutWaitForUnlock [in]

Тип: int

таймаут

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

.Если dwTimeoutWaitForUnlock равен 0xFFFFFFFF, ожидание будет происходить неограниченно долго

.

Если dwTimeoutWaitForUnlock равен 0, == no waiting

mode [in]

Тип: GrdLockMode

Комбинация флагов GrdLockMode, которая определяет перечень заблокированных операций с ключом.
Expand
titleВозвращаемое значение метода

Cтандартный набор ошибок

...