SetNtmsObjectAttributeA 関数 (ntmsapi.h)
[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。
SetNtmsObjectAttribute 関数は、指定された RSM オブジェクトに拡張属性 (プライベート データという名前) を作成します。
構文
DWORD SetNtmsObjectAttributeA(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpObjectId,
[in] DWORD dwType,
[in] LPCSTR lpAttributeName,
[in] LPVOID lpAttributeData,
[in] DWORD dwAttributeSize
);
パラメーター
[in] hSession
OpenNtmsSession 関数によって返されるセッションを処理します。
[in] lpObjectId
拡張属性を作成する RSM オブジェクトの GUID。
[in] dwType
RSM オブジェクトの種類。 オブジェクトの種類の一覧については、「 NtmsObjectsTypes」を参照してください。
[in] lpAttributeName
作成する拡張属性の名前。
[in] lpAttributeData
ユーザー定義データ。
[in] dwAttributeSize
lpAttributeData バッファーのサイズ (バイト単位)。
戻り値
この関数は、次のいずれかの値を返します。
値 | 意味 |
---|---|
|
NTMS_MODIFY_ACCESSがオブジェクトに対して拒否されるか、指定したオブジェクトの種類に対して変更が許可されません (「解説」を参照)。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。
Windows XP: アクセス権は必要ありません。 |
|
データベースの更新に失敗しました。 |
|
hSession パラメーターで指定された値が NULL であるか、無効です。 |
|
名前または属性が無効です。 NTMS_MAXATTR_NAMELEN値は、属性名の最大長を定義します。 長さは NULL を含みます。 |
|
ポインターが NULL であるか、無効です。 |
|
指定された属性がNTMS_MAXATTR_LENGTH以上です。 |
|
RSM サービスに接続できません。 |
|
GUID が無効です。 |
|
関数は成功しました。 |
注釈
SetNtmsObjectAttribute 関数は、指定した RSM サーバーで実行する必要があります。 バイトのバッファーは異なるアーキテクチャのシステム間でマーシャリングされないため、この関数をリモートで実行すると、予期しない結果が発生する可能性があります。
属性を削除するには、長さが 0 の属性のセットを実行します。
特別なアクセス権を必要とするオブジェクトの一覧を次に示します。
Object | Access |
---|---|
NTMS_CHANGER | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_CHANGER_TYPE | コンピューターへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_COMPUTER | コンピューターへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_DRIVE | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_DRIVE_TYPE | コンピューターへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_IEDOOR | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_IEPORT | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_LIBRARY | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_LIBREQUEST | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_LOGICAL_MEDIA | 論理メディアのメディア プールへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_MEDIA_POOL | メディア プールへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_MEDIA_TYPE | コンピューターへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_OPREQUEST | コンピューターへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_PARTITION | 側のメディア プールへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_PHYSICAL_MEDIA | メディア プールへのNTMS_MODIFY_ACCESSが必要です。 |
NTMS_STORAGESLOT | ライブラリへのNTMS_MODIFY_ACCESSが必要です。 |
注意
ntmsapi.h ヘッダーは、SetNtmsObjectAttribute をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntmsapi.h |
Library | Ntmsapi.lib |
[DLL] | Ntmsapi.dll |