NCryptCreateProtectionDescriptor 函式 (ncryptprotect.h)
NCryptCreateProtectionDescriptor 函式會擷取保護描述元物件的句柄。
語法
SECURITY_STATUS NCryptCreateProtectionDescriptor(
[in] LPCWSTR pwszDescriptorString,
[in] DWORD dwFlags,
[out] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor
);
參數
[in] pwszDescriptorString
Null 終止的 Unicode 字串,其中包含保護描述項規則字串或規則的已註冊顯示名稱。
如果您指定顯示名稱,而且您希望此函式在登錄中尋找相關聯的保護描述項規則字串,則必須將 dwFlags 參數設定為 NCRYPT_NAMED_DESCRIPTOR_FLAG。
[in] dwFlags
旗標,指定 pwszDescriptorString 中的字串是否代表保護描述元的顯示名稱,如果是的話,函式應該在登錄中搜尋相關聯的保護規則字元串。 您可以設定下列值組合:
- 若要指出 pwszDescriptorString 參數中設定的值是完整的保護描述元規則字串,而不是顯示名稱,請將 dwFlags 參數設定為零 (0) 。
- 若要指出字串是顯示名稱,並儲存它及其相關聯的描述元規則字串,請在 HKEY_LOCAL_MACHINE 登錄區中,位或 NCRYPT_NAMED_DESCRIPTOR_FLAG 值和 NCRYPT_MACHINE_KEY_FLAG 值。
- 若要指出字串是顯示名稱,而且它已儲存,以及其相關聯的描述元字串規則,請在 HKEY_CURRENT_USER 登錄區中,只設定 NCRYPT_NAMED_DESCRIPTOR_FLAG 值。 也就是說,沒有唯一旗標可指定目前的用戶登錄區。
注意 若要建立描述符規則與顯示名稱的關聯,並將這兩者儲存在登錄中,請呼叫 NCryptRegisterProtectionDescriptorName 函式。
[out] phDescriptor
保護描述項物件句柄的指標。
傳回值
傳回狀態代碼,指出函式的成功或失敗。 可能的傳回碼包括但不限於下列專案。
傳回碼 | Description |
---|---|
|
函式成功。 |
|
phDescriptor 參數不可為 NULL。
pwszDescriptorString 參數不可以是 NULL,而且不能是空的 sting。 |
|
dwFlags 參數必須 NCRYPT_MACHINE_KEY_FLAG 或 NCRYPT_NAMED_DESCRIPTOR_FLAG。 |
|
無法配置記憶體來擷取已註冊的保護描述項字串。 |
|
找不到 pwszDescriptorString 參數中指定的保護描述項名稱。 |
備註
此函式所建立的保護描述項對像是內部數據結構,其中包含描述元的相關信息。 您無法直接使用它。 不過,您的應用程式可以在下列函式中使用傳回的句柄:
- NCryptCloseProtectionDescriptor
- NCryptGetProtectionDescriptorInfo
- NCryptProtectSecret
- NCryptProtectSecret
- NCryptUnprotectSecret
- NCryptStreamOpenToProtect
- “SID=S-1-5-21-4392301 AND SID=S-1-5-21-3101812”
- “SDDL=O:S-1-5-5-0-290724G:SYD: (A;;CCDC;;;S-1-5-5-0-290724) (A;;直流;;;WD) 」
- “LOCAL=user”
- “LOCAL=machine”
- “WEBCREDENTIALS=MyPasswordName”
- “WEBCREDENTIALS=MyPasswordName,myweb.com”
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ncryptprotect.h |
程式庫 | NCrypt.lib |
Dll | NCrypt.dll |