Função FltSetSecurityObject (fltkernel.h)
FltSetSecurityObject define o estado de segurança de um objeto.
Sintaxe
NTSTATUS FLTAPI FltSetSecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
Parâmetros
[in] Instance
Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.
[in] FileObject
Ponteiro de objeto de arquivo para o objeto cujo estado de segurança deve ser definido. O chamador deve ter o acesso especificado na coluna Meaning da tabela mostrada na descrição do parâmetro SecurityInformation . Esse parâmetro é necessário e não pode ser NULL.
[in] SecurityInformation
SECURITY_INFORMATION valor que especifica as informações a serem definidas como uma combinação de uma ou mais das opções a seguir.
Valor | Significado |
---|---|
OWNER_SECURITY_INFORMATION | Indica que o identificador do proprietário do objeto deve ser definido. Requer acesso WRITE_OWNER. |
GROUP_SECURITY_INFORMATION | Indica que o identificador de grupo primário do objeto deve ser definido. Requer acesso WRITE_OWNER. |
DACL_SECURITY_INFORMATION | Indica que a DACL (lista de controle de acesso discricionário) do objeto deve ser definida. Requer acesso WRITE_DAC. |
SACL_SECURITY_INFORMATION | Indica que a ACL do sistema (SACL) do objeto deve ser definida. Requer acesso ACCESS_SYSTEM_SECURITY. |
[in] SecurityDescriptor
Ponteiro para o descritor de segurança a ser definido para o objeto .
Retornar valor
FltSetSecurityObject retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_ACCESS_DENIED | O chamador não tinha o acesso necessário. Este é um código de erro. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor era um ponteiro NULL . Este é um código de erro. |
STATUS_INSUFFICIENT_RESOURCES | Não foi possível capturar o descritor de segurança do objeto. Este é um código de erro. |
STATUS_INVALID_ACL | O descritor de segurança do objeto continha uma ACL inválida. Este é um código de erro. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor não apontou para um descritor de segurança válido. Este é um código de erro. |
STATUS_INVALID_SID | O descritor de segurança do objeto continha um SID inválido. Este é um código de erro. |
STATUS_UNKNOWN_REVISION | O nível de revisão do descritor de segurança do objeto era desconhecido ou não tinha suporte. Este é um código de erro. |
STATUS_NOT_IMPLEMENTED | A rotina FltSetSecurityObject está presente, mas não tem suporte no ambiente do sistema operacional no qual foi chamada. |
Comentários
A rotina FltSetSecurityObject está presente e tem suporte a partir do Windows Vista. No Windows 2000, Windows XP e Server 2003 SP1, a rotina está presente, mas não tem suporte, e retornará STATUS_NOT_IMPLEMENTED se for chamada em qualquer um desses ambientes.
Um descritor de segurança pode estar em forma absoluta ou auto-relativa. Na forma auto-relativa, todos os membros da estrutura estão localizados contíguamente na memória. Na forma absoluta, a estrutura contém apenas ponteiros para os membros. Para obter mais informações, confira Descritores de segurança absolutos e autorrelativos.
Para obter mais informações sobre segurança e controle de acesso, consulte a documentação sobre esses tópicos no SDK do Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |