次の方法で共有


ConvertSecurityDescriptorToStringSecurityDescriptorA 関数 (sddl.h)

ConvertSecurityDescriptorToStringSecurityDescriptor 関数は、セキュリティ記述子 を文字列形式に変換します。 文字列形式を使用して、セキュリティ記述子を格納または送信できます。

文字列形式のセキュリティ記述子を有効な機能セキュリティ記述子に変換するには、ConvertStringSecurityDescriptorToSecurityDescriptor 関数を呼び出します。

構文

BOOL ConvertSecurityDescriptorToStringSecurityDescriptorA(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  DWORD                RequestedStringSDRevision,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] LPSTR                *StringSecurityDescriptor,
  [out] PULONG               StringSecurityDescriptorLen
);

パラメーター

[in] SecurityDescriptor

変換するセキュリティ記述子へのポインター。 セキュリティ記述子は、絶対形式または自己相対形式できます。

[in] RequestedStringSDRevision

StringSecurityDescriptor 文字列 出力のリビジョン レベルを指定します。 現在、この値はSDDL_REVISION_1する必要があります。

[in] SecurityInformation

SECURITY_INFORMATION ビット フラグの組み合わせを指定して、出力文字列に含めるセキュリティ記述子のコンポーネントを示します。

BACKUP_SECURITY_INFORMATION フラグは、この関数には適用できません。 BACKUP_SECURITY_INFORMATION フラグが渡された場合、SecurityInformation パラメーターは、null 文字列出力 TRUE を返します。

[out] StringSecurityDescriptor

null-terminated セキュリティ記述子文字列へのポインターを受け取る変数へのポインター。 文字列形式の説明については、「セキュリティ記述子の文字列形式 を参照してください。 返されたバッファーを解放するには、LocalFree 関数を呼び出します。

[out] StringSecurityDescriptorLen

StringSecurityDescriptor バッファーで返されるセキュリティ記述子文字列のサイズ (TCHARs) を受け取る変数へのポインター。 サイズを取得する必要がない場合は、このパラメーターを NULL できます。 サイズは、文字列内の WCHARs の 数ではなく、WCHARs のバッファーのサイズを表します。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。 GetLastError 関数は、次のいずれかのエラー コードを返す場合があります。

リターン コード 形容
ERROR_INVALID_PARAMETER
パラメーターが無効です。
ERROR_UNKNOWN_REVISION
リビジョン レベルが無効です。
ERROR_NONE_MAPPED
入力セキュリティ記述子の セキュリティ識別子 (SID) が、アカウント参照操作で見つかりませんでした。
ERROR_INVALID_ACL
アクセス制御リスト (ACL) が無効です。 このエラーは、入力セキュリティ記述子で SE_DACL_PRESENT フラグが設定されていて、DACL が NULL場合に返されます。

備考

DACL が NULLされ、SE_DACL_PRESENT制御ビットが入力セキュリティ記述子に設定されている場合、関数は失敗します。

DACL が NULL、SE_DACL_PRESENT制御ビットが入力セキュリティ記述子に設定されていない場合、結果のセキュリティ記述子文字列には D: コンポーネントがありません。 詳細については、「セキュリティ記述子文字列形式」を参照してください。

手記

sddl.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ConvertSecurityDescriptorToStringSecurityDescriptor を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー sddl.h
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

アクセス制御の概要

基本的なアクセス制御関数の

ConvertSidToStringSid

ConvertStringSecurityDescriptorToSecurityDescriptor

ConvertStringSidToSid

SECURITY_DESCRIPTOR

SECURITY_INFORMATION