Sincronização de recursos do FCB

Os recursos de sincronização de interesse para drivers de minidiretório são associados principalmente ao FCB. Há um recurso de E/S de paginação e um recurso regular. O recurso de E/S de paginação é gerenciado internamente pelo RDBSS. O único recurso acessível para drivers de minidiretório é o recurso regular, que deve ser acessado usando as seguintes rotinas fornecidas:

Rotina Descrição

RxAcquireExclusiveFcbResourceInMRx

Essa rotina adquire o recurso FCB no modo exclusivo. Essa rotina aguardará que o recurso fcb seja gratuito se ele tiver sido adquirido anteriormente; essa rotina não retorna o controle até que o recurso exclusivo seja adquirido. Essa rotina adquire o recurso FCB mesmo que a estrutura de RX_CONTEXT associada a esse FCB tenha sido cancelada.

RxAcquireSharedFcbResourceInMRx

Essa rotina adquire o recurso FCB no modo compartilhado. Essa rotina aguardará que o recurso fcb seja gratuito se ele tiver sido adquirido exclusivamente anteriormente; essa rotina não retorna o controle até que o recurso compartilhado seja adquirido. Essa rotina adquire o recurso FCB mesmo que a estrutura de RX_CONTEXT associada a esse FCB tenha sido cancelada.

RxAcquireSharedFcbResourceInMRxEx

Essa rotina adquire o recurso FCB no modo compartilhado. Essa rotina aguardará que o recurso fcb seja gratuito se ele tiver sido adquirido exclusivamente anteriormente; essa rotina não retorna o controle até que o recurso compartilhado seja adquirido. Essa rotina adquire o recurso FCB mesmo que a estrutura de RX_CONTEXT associada a esse FCB tenha sido cancelada.

Essa rotina só está disponível no Windows Server 2003 Service Pack 1 (SP1) e posterior.

RxReleaseFcbResourceForThreadInMRx

Essa rotina libera o recurso FCB adquirido anteriormente usando RxAcquireSharedFcbResourceInMRxEx.

Essa rotina só está disponível no Windows Server 2003 Service Pack 1 e posterior.

RxReleaseFcbResourceInMRx

Essa rotina libera o recurso FCB adquirido anteriormente usando RxAcquireExclusiveFcbResourceInMRx ou RxAcquireSharedFcbResourceInMRx.

As macros a seguir são definidas no arquivo de cabeçalho rxprocs.h para determinar se o thread atual tem acesso ao recurso regular fcb.

Macro Descrição

RxFcbAcquiredShared (RXCONTEXT, FCB)

Essa macro verifica se o thread atual tem acesso ao recurso regular no modo compartilhado. Essa macro chama a rotina ExIsResourceAcquiredSharedLite .

RxIsFcbAcquiredShared (FCB)

Essa macro verifica se o thread atual tem acesso ao recurso regular no modo compartilhado. Essa macro chama a rotina ExIsResourceAcquiredSharedLite .

RxIsFcbAcquiredExclusive (FCB)

Essa macro verifica se o thread atual tem acesso ao recurso regular no modo exclusivo. Essa macro chama a rotina ExIsResourceAcquiredExclusiveLite .

RxIsFcbAcquired (FCB)

Essa macro verifica se o thread atual tem acesso ao recurso regular no modo compartilhado ou exclusivo. Essa macro chama a rotina ExIsResourceAcquiredSharedLite e ExIsResourceAcquiredExclusiveLite .