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 |
---|---|
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. |
|
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. |
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 . |