GetNtmsObjectAttributeA 関数 (ntmsapi.h)

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

GetNtmsObjectAttribute 関数は、指定された RSM オブジェクトから拡張属性 (プライベート データという名前) を取得します。

構文

DWORD GetNtmsObjectAttributeA(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpObjectId,
  [in]      DWORD       dwType,
  [in]      LPCSTR      lpAttributeName,
  [out]     LPVOID      lpAttributeData,
  [in, out] LPDWORD     lpAttributeSize
);

パラメーター

[in] hSession

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

[in] lpObjectId

データの取得元となるオブジェクトの一意識別子。

[in] dwType

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

[in] lpAttributeName

データを取得する拡張属性の名前。

[out] lpAttributeData

データを受信するバッファーへのポインター。

[in, out] lpAttributeSize

入力時のデータ バッファーのサイズ (バイト単位)。 出力時のデータの実際のサイズ (バイト単位)。

戻り値

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

意味
ERROR_ACCESS_DENIED
オブジェクトまたはそのコンテナーへのNTMS_USE_ACCESSは拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。

Windows XP: アクセス権は必要ありません。

ERROR_DATABASE_FAILURE
データベースのクエリまたは更新に失敗しました。
ERROR_INSUFFICIENT_BUFFER
バッファー サイズが正しく指定されていません。 lpAttributeSize パラメーターに正しいサイズが返されます。
ERROR_INVALID_HANDLE
hSession パラメーターで指定された値が NULL であるか、無効です。
ERROR_INVALID_PARAMETER
ポインターが NULL であるか、無効です。
ERROR_NOT_CONNECTED
RSM サービスに接続できません。
ERROR_OBJECT_NOT_FOUND
指定した属性が見つかりませんでした。
ERROR_SUCCESS
関数は成功しました。

注釈

GetNtmsObjectAttribute 関数は、RSM サーバーで実行する必要があります。 異なるアーキテクチャのシステム間ではバイトのバッファーがアンマーシャリングされるため、この関数をリモートで実行すると、予期しない結果になる可能性があります。

特別なアクセス権を必要とするオブジェクトの一覧を次に示します。

Object Access
NTMS_CHANGER ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_CHANGER_TYPE コンピューターにNTMS_USE_ACCESSする必要があります。
NTMS_COMPUTER コンピューターにNTMS_USE_ACCESSする必要があります。
NTMS_DRIVE ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_DRIVE_TYPE コンピューターにNTMS_USE_ACCESSする必要があります。
NTMS_IEDOOR ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_IEPORT ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_LIBRARY ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_LIBREQUEST ライブラリへのNTMS_USE_ACCESSが必要です。
NTMS_LOGICAL_MEDIA 論理メディアのメディア プールにNTMS_USE_ACCESSする必要があります。
NTMS_MEDIA_POOL メディア プールへのNTMS_USE_ACCESSが必要です。
NTMS_MEDIA_TYPE コンピューターにNTMS_USE_ACCESSする必要があります。
NTMS_OPREQUEST コンピューターにNTMS_USE_ACCESSする必要があります。
NTMS_PARTITION 側のメディア プールにNTMS_USE_ACCESSする必要があります。
NTMS_PHYSICAL_MEDIA メディア プールへのNTMS_USE_ACCESSが必要です。
NTMS_STORAGESLOT ライブラリへのNTMS_USE_ACCESSが必要です。
 

注意

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

要件

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

こちらもご覧ください

EnumerateNtmsObject

オブジェクト管理機能

SetNtmsObjectAttribute