Compartilhar via


Função RxCreateNetRoot (fcb.h)

RxCreateNetRoot aloca e inicializa uma estrutura NET_ROOT e insere o nome na tabela net name 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 membro Flags 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.

Retornar valor

RxCreateNetRoot retorna um ponteiro para uma estrutura de dados de NET_ROOT recém-criada em caso de êxito ou um ponteiro NULL sobre falha.

Comentários

A rotina RxCreateNetRoot 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 NET_ROOT 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 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 membro Flags do NET_ROOT. Essa rotina não marcar nem testa quais sinalizadores estão sendo definidos.

Em caso de êxito, a contagem de referência para a estrutura de SRV_CALL é incrementada.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho fcb.h (include Rxcontx.h, Mrxfcb.h, Prefix.h, Struchdr.h, Fcb.h)
IRQL <= APC_LEVEL

Confira também

RxCreateNetFcb

RxCreateNetFobx

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

A estrutura NET_ROOT

A estrutura SRV_CALL