Função RxCreateSrvOpen (fcb.h)
RxCreateSrvOpen aloca, inicializa e insere uma nova estrutura de 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.
Valor de retorno
RxCreateSrvOpen retorna um ponteiro para uma estrutura de dados SRV_OPEN recém-criada com êxito ou um ponteiro de NULL sobre falha.
Observações
A rotina de RxCreateSrvOpen normalmente não é chamada por drivers de minidiretor 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. Esse IRP normalmente é recebido pelo RDBSS em resposta a um aplicativo no modo de usuário solicitando uma operação de criação de arquivo em um compartilhamento de rede. Também é possível que outro driver de kernel emita tal 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 paged ao criar a nova estrutura de dados SRV_OPEN. Se o FCB associado não for um arquivo de paginação, RxCreateSrvOpen alocará memória de pool de páginas ao criar a nova estrutura de dados SRV_OPEN.
No momento, o Windows não permite ter um arquivo de paginação em um computador remoto.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | fcb.h (inclua Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |