Função RxCreateNetRoot (fcb.h)
RxCreateNetRoot aloca e inicializa uma estrutura NET_ROOT e insere o nome na tabela de nome da rede no objeto de dispositivo associado.
Sintaxe
PNET_ROOT RxCreateNetRoot(
[in] IN PSRV_CALL SrvCall,
[in] IN PUNICODE_STRING Name,
[in] IN ULONG NetRootFlags,
[in, optional] IN PRX_CONNECTION_ID RxConnectionId
);
Parâmetros
[in] SrvCall
Um ponteiro para a estrutura de SRV_CALL associada.
[in] Name
Um ponteiro para o nome a ser inserido na tabela de nomes.
[in] NetRootFlags
O valor para definir o Flags membro do NET_ROOT que é usado para indicar o estado da estrutura NET_ROOT.
[in, optional] RxConnectionId
Um ponteiro para a ID de conexão a ser associada ao nome a ser inserido na tabela de nomes de prefixo. Esse parâmetro pode ser NULL, caso em que nenhuma ID de conexão será associada ao nome inserido na tabela de nomes de prefixo.
Valor de retorno
RxCreateNetRoot retorna um ponteiro para uma estrutura de dados NET_ROOT recém-criada com êxito ou um ponteiro de NULL sobre falha.
Observações
A rotina RxCreateNetRoot normalmente não é chamada diretamente por drivers de minidiretor de rede. O RDBSS chama essa rotina internamente quando um pacote de solicitação de E/S é recebido para IRP_MJ_CREATE e um NET_ROOT 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 RxCreateNetRoot, um bloqueio na tabela de nomes associada ao membro do objeto do dispositivo do parâmetro SrvCall deve ser adquirido no modo exclusivo.
Os sinalizadores NET_ROOT são divididos em dois grupos, aqueles visíveis para minidiretórios de rede e aqueles invisíveis para minidiretórios de rede. Os visíveis são os 16 bits inferiores do Flags membro do NET_ROOT. Essa rotina não verifica nem testa quais sinalizadores estão sendo definidos.
Com êxito, a contagem de referência para a estrutura de SRV_CALL é incrementada.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | fcb.h (include Rxcontx.h, Mrxfcb.h, Prefix.h, Struchdr.h, Fcb.h) |
IRQL | <= APC_LEVEL |