Función WdfDeviceInitAssignSDDLString (wdfdevice.h)
[Solo se aplica a KMDF]
El método WdfDeviceInitAssignSDDLString asigna una configuración de seguridad para un dispositivo.
Sintaxis
NTSTATUS WdfDeviceInitAssignSDDLString(
[in] PWDFDEVICE_INIT DeviceInit,
[in, optional] PCUNICODE_STRING SDDLString
);
Parámetros
[in] DeviceInit
Puntero a una estructura de WDFDEVICE_INIT .
[in, optional] SDDLString
Puntero a una estructura UNICODE_STRING que describe una cadena Unicode. Esta cadena es una representación SDDL de un descriptor de seguridad.
Valor devuelto
Si la operación se realiza correctamente, WdfDeviceInitAssignSDDLString devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:
Código devuelto | Descripción |
---|---|
|
El sistema no puede asignar espacio para almacenar el nombre del dispositivo. |
Comentarios
El controlador puede especificar una configuración de seguridad mediante un subconjunto del lenguaje de definición de descriptores de seguridad (SDDL). El archivo Wdmsec.h define un conjunto de constantes con formato SDDL_DEVOBJ_XXX que puede usar. Para obtener más información sobre los descriptores de seguridad y SDDL, consulte Protección de objetos de dispositivo.
Los administradores del sistema pueden invalidar el descriptor de seguridad especificado agregando un descriptor de seguridad al Registro. Para obtener más información, consulte IoCreateDeviceSecure.
Antes de llamar a WdfDeviceInitAssignSDDLString, el controlador debe llamar a WdfDeviceInitAssignName o debe llamar a WdfDeviceInitSetCharacteristics y especificar FILE_AUTOGENERATED_DEVICE_NAME, ya que no se puede proporcionar un descriptor de seguridad para un objeto de dispositivo sin nombre.
Si el controlador llama a WdfDeviceInitAssignSDDLString, debe hacerlo antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Para obtener más información sobre los problemas de seguridad, consulte Problemas de seguridad para controladores de Framework-Based.
Si va a escribir un controlador UMDF, debe modificar el archivo INF del controlador para proporcionar un descriptor de seguridad adecuado para la pila. Para obtener más información, consulte Protección de objetos de dispositivo. Para obtener más información sobre cómo usar el Registro, vea Establecer propiedades del Registro de objetos de dispositivo durante la instalación.
Ejemplos
En el ejemplo de código siguiente se asigna una configuración de seguridad para un dispositivo.
NTSTATUS status;
status = WdfDeviceInitAssignSDDLString(
pDeviceInit,
&SDDL_DEVOBJ_SYS_ALL_ADM_ALL
);
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfdevice.h (incluir Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento 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) |