SetNtmsObjectSecurity 関数 (ntmsapi.h)

[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。

SetNtmsObjectSecurity 関数は、指定された RSM オブジェクトのセキュリティ記述子を書き込みます。

構文

DWORD SetNtmsObjectSecurity(
  [in] HANDLE               hSession,
  [in] LPNTMS_GUID          lpObjectId,
  [in] DWORD                dwType,
  [in] SECURITY_INFORMATION SecurityInformation,
  [in] PSECURITY_DESCRIPTOR lpSecurityDescriptor
);

パラメーター

[in] hSession

OpenNtmsSession 関数によって返されるセッションを処理します。

[in] lpObjectId

RSM オブジェクトの一意識別子。

[in] dwType

RSM オブジェクトの種類。 オブジェクトの種類の一覧については、「 NtmsObjectsTypes」を参照してください。

[in] SecurityInformation

RSM オブジェクトに書き込むセキュリティ情報を指定する SECURITY_INFORMATION 値。

[in] lpSecurityDescriptor

RSM オブジェクトに書き込むセキュリティ記述子 ( NTMS_USE_ACCESS 、NTMS_CONTROL_ACCESS、またはNTMS_MODIFY_ACCESS) を指定するSECURITY_DESCRIPTOR構造体へのポインター。

戻り値

この関数は、次のいずれかの値を返します。

説明
ERROR_ACCESS_DENIED
セキュリティ記述子を変更するために必要な特権は拒否されます。
ERROR_DATABASE_FAILURE
データベースにアクセスできないか、破損しています。
ERROR_DATABASE_FULL
データベースがいっぱいです。
ERROR_INVALID_HANDLE
セッション ハンドルがないか、無効です。
ERROR_INVALID_PARAMETER
オブジェクト ID がありません。
ERROR_NO_SECURITY_ON_OBJECT
このオブジェクトのセキュリティ情報はありません。
ERROR_OBJECT_NOT_FOUND
オブジェクト ID が無効です。
ERROR_SUCCESS
関数は成功しました。

解説

アプリケーションで SetNtmsObjectSecurity を使用してオブジェクトの随意アクセス制御リスト (ACL) を設定する場合は、アプリケーションにWRITE_DACアクセス許可を持っているか、オブジェクトの所有者である必要があります。

アプリケーションで SetNtmsObjectSecurity を使用してオブジェクトのシステム ACL を設定する場合は、アプリケーションに対してSE_SECURITY_NAME特権を有効にする必要があります。 詳細については、「 SetPrivateObjectSecurity 関数」を参照してください。 RSM セキュリティの詳細については、「 RSM セキュリティ」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntmsapi.h
Library Ntmsapi.lib
[DLL] Ntmsapi.dll

関連項目

EnumerateNtmsObject

GetNtmsObjectSecurity

オブジェクト管理機能