共用方式為


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。 其他傳回值包括:

傳回碼 描述
STATUS_INSUFFICIENT_RESOURCES
系統無法配置空間來儲存裝置名稱。

言論

您的驅動程式可以使用安全性描述元定義語言 (SDDL) 子集來指定安全性設定。 Wdmsec.h 檔案會定義一組您可以使用的SDDL_DEVOBJ_XXX格式常數。 如需安全性描述元和 SDDL 的詳細資訊,請參閱 保護裝置物件

系統管理員可以將安全性描述元新增至登錄,以覆寫指定的安全性描述元。 如需詳細資訊,請參閱 IoCreateDeviceSecure

在呼叫 WdfDeviceInitAssignSDDLString之前,您的驅動程式必須呼叫 WdfDeviceInitAssignName,或者它必須呼叫 WdfDeviceInitSetCharacteristics 並指定FILE_AUTOGENERATED_DEVICE_NAME,因為您無法為未命名的裝置物件提供安全性描述符。

如果驅動程式呼叫 WdfDeviceInitAssignSDDLString,則必須先執行此動作,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate的詳細資訊,請參閱 建立 Framework Device Object

如需安全性問題的詳細資訊,請參閱 Framework-Based 驅動程式的安全性問題

如果您要撰寫 UMDF 驅動程式,則必須修改驅動程式的 INF 檔案,為堆疊提供適當的安全性描述元。 如需詳細資訊,請參閱 保護裝置物件。 如需使用登錄的詳細資訊,請參閱在安裝期間 設定 Device Object Registry Properties

例子

下列程式代碼範例會指派裝置的安全性設定。

NTSTATUS status;

status = WdfDeviceInitAssignSDDLString(
                                       pDeviceInit,
                                       &SDDL_DEVOBJ_SYS_ALL_ADM_ALL
                                       );

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標頭 wdfdevice.h (包括 Wdf.h)
連結庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
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)