Função RxCreateSrvOpen (fcb.h)
RxCreateSrvOpen aloca, inicializa e insere uma nova estrutura SRV_OPEN nas estruturas de dados na memória usadas pelo RDBSS. Se uma nova estrutura precisar ser alocada, ela terá espaço para uma estrutura FOBX.
Sintaxe
PSRV_OPEN RxCreateSrvOpen(
[in] IN PV_NET_ROOT VNetRoot,
[in, out] IN OUT PFCB Fcb
);
Parâmetros
[in] VNetRoot
Um ponteiro para a estrutura V_NET_ROOT.
[in, out] Fcb
Um ponteiro para a estrutura FCB associada.
Retornar valor
RxCreateSrvOpen retorna um ponteiro para uma estrutura de dados de SRV_OPEN recém-criada com êxito ou um ponteiro NULL em caso de falha.
Comentários
A rotina RxCreateSrvOpen normalmente não é chamada por drivers de minidiretório de rede diretamente. O RDBSS chama essa rotina internamente quando um pacote de solicitação de E/S é recebido para IRP_MJ_CREATE e um SRV_OPEN precisa ser criado. Normalmente, esse IRP é recebido pelo RDBSS em resposta a um aplicativo no modo de usuário que solicita uma operação de criação de arquivo em um compartilhamento de rede. Também é possível que outro driver de kernel emita esse IRP.
Antes de chamar RxCreateSrvOpen, um bloqueio na estrutura FCB associada deve ser adquirido no modo exclusivo.
RxCreateSrvOpen tentará usar o SRV_CALL alocado como parte da estrutura fcb associada se estiver disponível. Se o SRV_CALL alocado com o FCB não estiver disponível, rxCreateSrvOpen alocará uma nova estrutura de SRV_CALL.
Se o FCB associado for um arquivo de paginação, RxCreateSrvOpen alocará memória de pool não paginado ao criar o novo SRV_OPEN estrutura de dados. Se o FCB associado não for um arquivo de paginação, RxCreateSrvOpen alocará memória de pool paginado ao criar o novo SRV_OPEN estrutura de dados.
No momento, o Windows não permite ter um arquivo de paginação em um computador remoto.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | fcb.h (inclua Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |