WdfDeviceInitAssignSDDLString 函式 (wdfdevice.h)
[僅適用於 KMDF]
WdfDeviceInitAssignSDDLString 方法會指派裝置的安全性設定。
語法
NTSTATUS WdfDeviceInitAssignSDDLString(
[in] PWDFDEVICE_INIT DeviceInit,
[in, optional] PCUNICODE_STRING SDDLString
);
參數
[in] DeviceInit
WDFDEVICE_INIT 結構的指標。
[in, optional] SDDLString
描述 Unicode 字串之 UNICODE_STRING 結構的指標。 此字串是安全性描述元的 SDDL 表示法。
傳回值
如果作業成功, WdfDeviceInitAssignSDDLString 會傳回STATUS_SUCCESS。 其他傳回值包括:
傳回碼 | Description |
---|---|
|
系統無法配置空間來儲存裝置名稱。 |
備註
您的驅動程式可以使用安全性描述元定義語言 (SDDL) 子集來指定安全性設定。 Wdmsec.h 檔案會定義一組可供使用的SDDL_DEVOBJ_XXX格式常數。 如需安全性描述項和SDDL的詳細資訊,請參閱 保護裝置物件。
系統管理員可以將安全性描述元新增至登錄,以覆寫指定的安全性描述元。 如需詳細資訊,請參閱 IoCreateDeviceSecure。
在呼叫 WdfDeviceInitAssignSDDLString 之前,您的驅動程式必須呼叫 WdfDeviceInitAssignName,或者它必須呼叫 WdfDeviceInitSetCharacteristics 並指定FILE_AUTOGENERATED_DEVICE_NAME,因為您無法為未命名的裝置物件提供安全性描述元。
如果驅動程式呼叫 WdfDeviceInitAssignSDDLString,則必須先這麼做,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立 Framework 裝置物件。
如需安全性問題的詳細資訊,請參閱 Framework-Based 驅動程式的安全性問題。
如果您要撰寫 UMDF 驅動程式,您必須修改驅動程式的 INF 檔案,以提供適當的堆疊安全性描述元。 如需詳細資訊,請參閱 保護裝置物件。 如需使用登錄的詳細資訊,請參閱 在安裝期間設定裝置物件登錄屬性。
範例
下列程式代碼範例會指派裝置的安全性設定。
NTSTATUS status;
status = WdfDeviceInitAssignSDDLString(
pDeviceInit,
&SDDL_DEVOBJ_SYS_ALL_ADM_ALL
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | PASSIVE_LEVEL |
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) |