다음을 통해 공유


SetNtmsObjectAttributeW 함수(ntmsapi.h)

[이동식 스토리지 관리자 더 이상 Windows 7 및 Windows Server 2008 R2를 사용할 수 없습니다.]

SetNtmsObjectAttribute 함수는 지정된 RSM 개체에 확장 특성(명명된 프라이빗 데이터)을 만듭니다.

통사론

DWORD SetNtmsObjectAttributeW(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpObjectId,
  [in] DWORD       dwType,
  [in] LPCWSTR     lpAttributeName,
  [in] LPVOID      lpAttributeData,
       DWORD       AttributeSize
);

매개 변수

[in] hSession

OpenNtmsSession 함수에서 반환된 세션에 대한 핸들입니다.

[in] lpObjectId

확장 특성을 만들 RSM 개체의 GUID입니다.

[in] dwType

RSM 개체 형식입니다. 개체 형식 목록은 NtmsObjectsTypes참조하세요.

[in] lpAttributeName

만들 확장 특성의 이름입니다.

[in] lpAttributeData

사용자 정의 데이터입니다.

AttributeSize

lpAttributeData 버퍼의 크기(바이트)입니다. D

반환 값

이 함수는 다음 값 중 하나를 반환합니다.

의미
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS 개체에 대해 거부되거나 지정된 개체 형식에 대한 수정이 허용되지 않습니다(설명 참조). 다른 보안 오류도 가능하지만 보안 하위 시스템 오류를 나타냅니다.

Windows XP: 액세스 권한이 필요하지 않습니다.

ERROR_DATABASE_FAILURE
데이터베이스 업데이트에 실패했습니다.
ERROR_INVALID_HANDLE
hSession 매개 변수에 지정된 값이 NULL 유효하지 않습니다.
ERROR_INVALID_NAME
이름 또는 특성이 잘못되었습니다. NTMS_MAXATTR_NAMELEN 값은 최대 특성 이름 길이를 정의합니다. 길이에는 NULL포함됩니다.
ERROR_INVALID_PARAMETER
포인터가 NULL 잘못되었습니다.
ERROR_NO_DATA
지정된 특성이 NTMS_MAXATTR_LENGTH 보다 크거나 같습니다.
ERROR_NOT_CONNECTED
RSM 서비스에 연결할 수 없습니다.
ERROR_OBJECT_NOT_FOUND
GUID가 잘못되었습니다.
ERROR_SUCCESS
함수가 성공했습니다.

발언

SetNtmsObjectAttribute 함수는 지정된 RSM 서버에서 실행되어야 합니다. 바이트 버퍼는 서로 다른 아키텍처의 시스템 간에 구분되지 않으므로 이 함수를 원격으로 실행하면 예측할 수 없는 결과가 발생할 수 있습니다.

특성을 삭제하려면 길이가 0인 특성 집합을 수행합니다.

다음은 특별한 액세스 권한이 필요한 개체 목록입니다.

객체 접근
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를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntmsapi.h
라이브러리 Ntmsapi.lib
DLL Ntmsapi.dll

참고 항목

EnumerateNtmsObject

GetNtmsObjectAttribute

개체 관리 함수