Função WdfDeviceInitAssignSDDLString (wdfdevice.h)
[Aplica-se somente ao KMDF]
O método WdfDeviceInitAssignSDDLString atribui uma configuração de segurança para um dispositivo.
Sintaxe
NTSTATUS WdfDeviceInitAssignSDDLString(
[in] PWDFDEVICE_INIT DeviceInit,
[in, optional] PCUNICODE_STRING SDDLString
);
Parâmetros
[in] DeviceInit
Um ponteiro para uma estrutura WDFDEVICE_INIT .
[in, optional] SDDLString
Um ponteiro para uma estrutura UNICODE_STRING que descreve uma cadeia de caracteres Unicode. Essa cadeia de caracteres é uma representação SDDL de um descritor de segurança.
Retornar valor
Se a operação for bem-sucedida, WdfDeviceInitAssignSDDLString retornará STATUS_SUCCESS. Os valores retornados adicionais incluem:
Código de retorno | Descrição |
---|---|
|
O sistema não pode alocar espaço para armazenar o nome do dispositivo. |
Comentários
Seu driver pode especificar uma configuração de segurança usando um subconjunto de SDDL (Linguagem de Definição de Descritor de Segurança). O arquivo Wdmsec.h define um conjunto de constantes formatadas em SDDL_DEVOBJ_XXX que você pode usar. Para obter mais informações sobre descritores de segurança e SDDL, consulte Protegendo objetos de dispositivo.
Os administradores do sistema podem substituir o descritor de segurança especificado adicionando um descritor de segurança ao registro. Para obter mais informações, consulte IoCreateDeviceSecure.
Antes de chamar WdfDeviceInitAssignSDDLString, o driver deve chamar WdfDeviceInitAssignName ou chamar WdfDeviceInitSetCharacteristics e especificar FILE_AUTOGENERATED_DEVICE_NAME, pois você não pode fornecer um descritor de segurança para um objeto de dispositivo sem nome.
Se o driver chamar WdfDeviceInitAssignSDDLString, ele deverá fazer isso antes de chamar WdfDeviceCreate. Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework.
Para obter mais informações sobre problemas de segurança, consulte Problemas de segurança para drivers de Framework-Based.
Se você estiver escrevendo um driver UMDF, deverá modificar o arquivo INF do driver para fornecer um descritor de segurança apropriado para a pilha. Para obter mais informações, consulte Protegendo objetos de dispositivo. Para obter mais informações sobre como usar o registro, consulte Configurando propriedades do Registro de Objeto do Dispositivo durante a instalação.
Exemplos
O exemplo de código a seguir atribui uma configuração de segurança para um dispositivo.
NTSTATUS status;
status = WdfDeviceInitAssignSDDLString(
pDeviceInit,
&SDDL_DEVOBJ_SYS_ALL_ADM_ALL
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |