次の方法で共有


GetNtmsObjectAttributeW 関数 (ntmsapi.h)

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

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

構文

DWORD GetNtmsObjectAttributeW(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpObjectId,
  [in]      DWORD       dwType,
  [in]      LPCWSTR     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 サーバーで実行する必要があります。 バイトのバッファーは異なるアーキテクチャのシステム間でマーシャリングされないため、この関数をリモート実行すると、予期しない結果になる可能性があります。

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

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

必要条件

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

関連項目

EnumerateNtmsObject の

オブジェクト管理機能の

SetNtmsObjectAttribute の