NCryptQueryProtectionDescriptorName 関数 (ncryptprotect.h)

NCryptQueryProtectionDescriptorName 関数は、登録された記述子表示名に関連付けられている保護記述子ルール文字列を取得します。

構文

SECURITY_STATUS NCryptQueryProtectionDescriptorName(
  [in]      LPCWSTR pwszName,
  [out]     LPWSTR  pwszDescriptorString,
  [in, out] SIZE_T  *pcDescriptorString,
            DWORD   dwFlags
);

パラメーター

[in] pwszName

保護記述子の登録済み表示名。 NCryptRegisterProtectionDescriptorName 関数を呼び出して名前を登録します。

[out] pwszDescriptorString

保護記述子規則を含む null で終わる Unicode 文字列。 この値を NULL に設定し、この関数の最初の呼び出しで pcDescriptorString 引数が指す記述子文字列のサイズを 0 に設定します。 詳細については、「解説」を参照してください。

[in, out] pcDescriptorString

pwszDescriptorString パラメーターで取得された文字列の文字数を含む変数へのポインター。 この関数の最初の呼び出しで、変数を 0 に設定します。 詳細については、「解説」を参照してください。

dwFlags

登録された名前に対してクエリを実行するレジストリ ハイブを指定するフラグ。 これは、 HKEY_CURRENT_USER ハイブを検索する場合は 0 にすることも、 HKEY_LOCAL_MACHINE ハイブのクエリを実行する NCRYPT_MACHINE_KEY_FLAG を指定することもできます。

戻り値

関数の成功または失敗を示す状態コードを返します。 可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード 説明
ERROR_SUCCESS
関数は成功しました。
NTE_INVALID_PARAMETER
pwszName パラメーターを NULL にすることはできません。また、 パラメーターが指す値を空の文字列にすることはできません。
NTE_BAD_FLAGS
dwFlags パラメーターは、0 またはNCRYPT_MACHINE_KEY_FLAGにする必要があります。

注釈

保護記述子規則文字列を取得するには、この関数を 2 回呼び出す必要があります。 初めてを呼び出す場合は、 pwszDescriptorString 引数を NULL に設定し、 pcDescriptorString 引数が指す値を 0 に設定します。 最初の呼び出しでは、記述子文字列内の文字数が取得されます。 この数値を使用して、文字列のメモリを割り当て、割り当てられたバッファーへのポインターを取得します。 文字列を取得するには、 ポインターを使用して関数をもう一度呼び出します。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ncryptprotect.h
Library NCrypt.lib
[DLL] NCrypt.dll

こちらもご覧ください

CNG DPAPI 関数

NCryptRegisterProtectionDescriptorName