Compartilhar via


Rotina MRxDevFcbXXXControlFile

A rotina MRxDevFcbXXXControlFile é chamada pelo RDBSS para passar uma solicitação de controle FCB do dispositivo (uma solicitação IOCTL ou FSCTL) para o minidiretório de rede.

Sintaxe

PMRX_CALLDOWN MRxDevFcbXXXControlFile;

NTSTATUS MRxDevFcbXXXControlFile(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Parâmetros

RxContext [in, out]
Um ponteiro para a estrutura RX_CONTEXT. Esse parâmetro contém o IRP que está solicitando a operação.

Retornar valor

MRxDevFcbXXControlFile retorna STATUS_SUCCESS com êxito ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_ACCESS_DENIED

Foi feita uma solicitação para parar ou iniciar o minidiretório de rede, mas o chamador não tinha a segurança adequada para essa operação.

STATUS_INVALID_DEVICE_REQUEST

Uma solicitação de dispositivo inválida foi enviada para o minidiretório de rede.

STATUS_REDIRECTOR_HAS_OPEN_HANDLES

Essa foi uma solicitação para interromper o minidiretório de rede, mas o redirecionador tem identificadores abertos que impedem que ele pare no momento.

STATUS_REDIRECTOR_NOT_STARTED

Essa foi uma solicitação para interromper o minidiretório de rede, mas o redirecionador não foi iniciado.

STATUS_REDIRECTOR_STARTED

Essa foi uma solicitação para iniciar o minidiretório de rede, mas o redirecionador já foi iniciado.

Comentários

MRxDevFcbXXXControlFile manipula solicitações IOCTL e FSCTL relacionadas ao FCB do dispositivo que são enviadas para o minidiretório de rede.

Antes de chamar MRxDevFcbXXXControlFile, o RDBSS modifica o seguinte membro na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :

MajorFunction é definido como a função principal do IRP

Se essa fosse uma solicitação IRP_MJ_FILE_SYSTEM_CONTROL, o RDBSS modificará os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :

LowIoContext.ParamsFor.FsCtl.MinorFunction é definido como o código de função secundária para o código FSCTL

LowIoContext.ParamsFor.FsCtl.FsControlCode é definido como o código FSCTL para o IRP

Se essa for uma solicitação IRP_MJ_DEVICE_CONTROL ou IRP_MJ_INTERNAL_DEVICE_CONTROL, o RDBSS modificará o seguinte membro na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :

LowIoContext.ParamsFor.FsCtl.FsControlCode é definido como o código de controle do IRP.

Se MRxDevFcbXXXControlFile retornar STATUS_SUCCESS, a rotina foi bem-sucedida. Qualquer outro valor retornado indica que ocorreu um erro.

Requisitos

Plataforma de destino

Área de Trabalho

parâmetro

Mrx.h (inclua Mrx.h)

Confira também

MRxStart

MRxStop