Função WdmlibIoValidateDeviceIoControlAccess (wdmsec.h)
A função WdmlibIoValidateDeviceIoControlAccess verifica se o remetente de um IRP_MJ_DEVICE_CONTROL ou IRP_MJ_FILE_SYSTEM_CONTROL IRP tem o acesso especificado ao objeto do dispositivo.
Sintaxe
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Parâmetros
[in] Irp
Especifica o IRP no qual executar o marcar de acesso.
[in] RequiredAccess
Especifica o tipo de acesso ao objeto de dispositivo que o remetente da solicitação deve ter. O chamador pode especificar um ou mais dos sinalizadores a seguir.
Retornar valor
WdmlibIoValidateDeviceIoControlAccess retorna um valor NTSTATUS. Os possíveis valores retornados incluem:
Código de retorno | Descrição |
---|---|
|
O remetente da solicitação tem o acesso necessário ao objeto do dispositivo. |
|
O remetente da solicitação não tem o acesso necessário ao objeto do dispositivo. |
|
Os parâmetros especificados são inválidos. Por exemplo, se a rotina for passada para um IRP que não é um IRP IRP_MJ_DEVICE_CONTROL ou IRP_MJ_FILE_SYSTEM_CONTROL , ele retornará STATUS_INVALID_PARAMETER. |
Comentários
WdmlibIoValidateDeviceIoControlAccess permite que os drivers executem verificações de acesso dinâmico para IOCTLs. Use essa rotina para exigir acesso mais restritivo do que o especificado na definição do IOCTL. Se a rotina retornar STATUS_ACCESS_DENIED, o driver poderá concluir a solicitação com o valor STATUS_ACCESS_DENIED status.
Por exemplo, se um IOCTL for definido com um valor RequiredAccess de FILE_ANY_ACCESS, por padrão, qualquer remetente de solicitação com acesso SYNCHRONIZE ao objeto do dispositivo poderá enviar o IOCTL. Use WdmlibIoValidateDeviceIoControlAccess para exigir segurança mais rigorosa em tempo de execução. Para obter mais informações sobre o valor RequiredAccess de um IOCTL, consulte Definindo códigos de controle de E/S.
As verificações de acesso só serão executadas se o membro RequestorMode da estrutura IRP for UserMode. Se RequestorMode for KernelMode, a rotina retornará automaticamente STATUS_SUCCESS.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Server 2003 e versões posteriores do Windows. Os drivers que também devem funcionar para o Windows 2000 e o Windows XP podem, em vez disso, vincular ao Wdmsec.lib para usar essa rotina. (A biblioteca Wdmsec.lib foi enviada pela primeira vez com as edições Windows XP Service Pack 1 [SP1] e Windows Server 2003 do Kit de Desenvolvimento de Driver [DDK] e agora é fornecida com o Kit de Driver do Windows [WDK].) |
Plataforma de Destino | Universal |
Cabeçalho | wdmsec.h (incluem Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |