IRP_MJ_CREATE

Cada driver de modo kernel deve manipular IRP_MJ_CREATE solicitações em uma função DRIVER_DISPATCH retorno de chamada.

Quando enviado

O sistema operacional envia uma solicitação IRP_MJ_CREATE para abrir um identificador para um objeto de arquivo ou objeto de dispositivo. Por exemplo, quando um driver chama ZwCreateFile, o sistema operacional envia uma solicitação IRP_MJ_CREATE para executar a operação aberta real.

Parâmetros de Entrada

O membro Parameters.Create.SecurityContext aponta para uma estrutura IO_SECURITY_CONTEXT que descreve o contexto de segurança para a solicitação. O membro Parameters.Create.SecurityContext-DesiredAccess> é uma máscara de acesso que especifica os direitos de acesso que estão sendo solicitados pelo chamador.

O membro Parameters.Create.Options é um valor ULONG que descreve as opções usadas ao abrir o handle. Os 8 bits altos correspondem ao valor do parâmetro CreateDisposition de ZwCreateFile e os 24 bits baixos correspondem ao valor do parâmetro CreateOptions de ZwCreateFile.

O membro Parameters.Create.ShareAccess é um valor USHORT que descreve o tipo de acesso de compartilhamento. Esse valor corresponde ao valor do parâmetro ShareAccess de ZwCreateFile.

Os membros Parameters.Create.FileAttributes e Parameters.Create.EaLength são reservados para uso por sistemas de arquivos e drivers de filtro do sistema de arquivos. Para obter mais informações, consulte o IRP_MJ_CREATE tópico na documentação do IFS (Sistema de Arquivos Instaível).

Parâmetros de saída

Nenhum

Operação

A maioria dos drivers intermediários e dispositivos STATUS_SUCCESS no bloco de status de E/S do IRP e conclui a solicitação de criação, mas os drivers podem, opcionalmente, usar sua função de retorno de chamada DRIVER_DISPATCH para reservar recursos para quaisquer solicitações de E/S subsequentes para esse controle. Por exemplo, o driver serial do sistema mapeia seu código paged-out e aloca todos os recursos necessários para lidar com solicitações de E/S subsequentes para o thread de modo de usuário que está tentando abrir o dispositivo para entrada e saída.

Requisitos

Cabeçalho

Wdm.h (inclua Wdm.h, Ntddk.h ou Ntifs.h)

Confira também

DRIVER_DISPATCH

DispatchCreateClose

IO_SECURITY_CONTEXT

ZwCreateFile