Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[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. |
Observaciones
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 Proteger 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 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 de 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, vea proteger 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 | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| versión mínima de KMDF | 1.0 |
| encabezado de | wdfdevice.h (incluya Wdf.h) |
| biblioteca de | 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), PdoDeviceIni, PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |