다음을 통해 공유


EnumerateNtmsObject 함수(ntmsapi.h)

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

EnumerateNtmsObject 함수는 lpContainerId 매개 변수에 포함된 RSM 개체를 열거합니다.

구문

DWORD EnumerateNtmsObject(
  [in]      HANDLE            hSession,
  [in]      const LPNTMS_GUID lpContainerId,
  [out]     LPNTMS_GUID       lpList,
  [in, out] LPDWORD           lpdwListSize,
  [in]      DWORD             dwType,
  [in]      DWORD             dwOptions
);

매개 변수

[in] hSession

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

[in] lpContainerId

개체를 열거할 RSM 개체 컨테이너의 고유 식별자입니다. 이 매개 변수는 라이브러리, 미디어 풀, 파티션 ID, 물리적 미디어 또는 논리 미디어의 GUID일 수 있습니다. 컨테이너에 관계없이 dwType 매개 변수로 지정된 형식의 모든 개체를 열거하려면 이 매개 변수를 NULL로 설정합니다. 개체-컨테이너 관계에 대한 자세한 내용은 NtmsObjectsTypes를 참조하세요.

[out] lpList

라이브러리, 드라이브, 미디어 또는 기타 RSM 개체 ID 배열에 대한 버퍼입니다.

[in, out] lpdwListSize

함수가 lpList 매개 변수를 통해 반환할 수 있는 최대 ID 수를 지정하는 변수에 대한 포인터입니다. 반환 시 lpList 의 ID 수는 lpdwListSize에 반환됩니다.

[in] dwType

lpContainerId 컨테이너에서 열거할 개체의 형식입니다. lpContainerIdNULL이면 RSM에서 지원하는 이 유형의 모든 개체가 열거됩니다. 이 매개 변수는 NtmsObjectsTypes 열거형 형식의 다음 값 중 하나일 수 있습니다.

의미
NTMS_CHANGER
체인저.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_CHANGER_TYPE
변경자 형식.

lpContainerId 매개 변수는 NULL이어야 합니다.

NTMS_COMPUTER
현재 컴퓨터 개체입니다.

lpContainerId 매개 변수는 NULL이어야 합니다.

NTMS_DRIVE
드라이브.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_DRIVE_TYPE
드라이브 유형.

lpContainerId 매개 변수는 NULL이어야 합니다.

NTMS_IEDOOR
문.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_IEPORT
nULL 컨테이너 ID가 제공된 경우 lpContainerId 매개 변수 또는 RSM에서 지원하는 모든 insert/eject 포트로 지정된 라이브러리에 포함된 포트를 삽입/배출 합니다.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_LIBRARY
라이브러리 개체입니다. 여기에는 물리적 라이브러리 단위 및 오프라인 라이브러리가 포함됩니다.

lpContainerId 매개 변수는 NULL이어야 합니다.

NTMS_LIBREQUEST
nULL 컨테이너 ID가 제공된 경우 lpContainerId 매개 변수로 지정된 라이브러리 또는 RSM 내에서 큐에 대기 중인 모든 라이브러리 작업 항목에 대기 중인 라이브러리 활성 요청(또는 작업 항목)입니다.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_LOGICAL_MEDIA
논리 미디어 개체입니다. 이는 둘 이상의 측면 또는 물리적 미디어를 포함할 수 있는 애플리케이션에 할당된 매체입니다.

lpContainerId 매개 변수는 NUL, 미디어 풀 GUID 또는 파티션 GUID여야 합니다.

NTMS_MEDIA_POOL
논리적 및/또는 물리적 미디어와 이를 관리하는 구성 매개 변수를 포함하는 미디어 풀 개체입니다. NULL이 컨테이너 ID로 지정된 경우 최상위 이름만 반환됩니다.

lpContainerId 매개 변수는 NULL 또는 미디어 풀 GUID여야 합니다.

NTMS_MEDIA_TYPE
RSM에서 지원하는 미디어 형식의 특성을 포함하는 미디어 형식 개체입니다. NULL을 사용하여 열거하면 현재 서버에서 사용할 수 있는 미디어 유형뿐만 아니라 가능한 모든 미디어 형식이 제공됩니다.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

NTMS_OPREQUEST
이 RSM 서버에 있는 운영자 요청입니다.

lpContainerId 매개 변수는 NULL이어야 합니다.

NTMS_PARTITION
물리적 미디어의 조각에 측면. 물리적 미디어 부분에는 여러 물리적 측면이 포함될 수 있습니다(예: 광학 디스크에는 양면이 포함됨).

lpContainerId 매개 변수는 NULL, 논리 미디어 GUID, 물리적 미디어 GUID 또는 미디어 풀 GUID여야 합니다.

NTMS_PHYSICAL_MEDIA
물리적 미디어 항목(테이프, 광학 디스크, CD-ROM 또는 자기 카트리지). 물리적 미디어 조각에는 여러 물리적 측면(예: 광학 디스크의 측면)이 포함될 수 있습니다.

lpContainerId 매개 변수는 NULL, 미디어 풀 GUID 또는 라이브러리 GUID여야 합니다.

NTMS_STORAGESLOT
nULL 컨테이너 ID가 제공된 경우 lpContainerId 매개 변수 또는 RSM에서 지원하는 모든 스토리지 슬롯에 지정된 라이브러리에 포함된 미디어 슬롯입니다.

lpContainerId 매개 변수는 NULL 또는 라이브러리 GUID여야 합니다.

[in] dwOptions

열거형 옵션입니다. dwType이 NTMS_MEDIA_POOL 경우에만 적용됩니다.

의미
NTMS_ENUM_ROOTPOOL
이렇게 하면 다른 모든 최상위 미디어 풀 외에도 루트 풀이 열거됩니다. 항상 목록의 첫 번째 GUID로 반환됩니다. 루트 풀을 열거하는 것은 개체의 보안 특성을 얻거나 설정하는 데만 필요합니다. dwType 은 NTMS_MEDIA_POOL, lpContainerId는NULL이어야 합니다.
NTMS_ENUM_DEFAULT
미디어 풀을 열거할 때 루트 풀의 열거형을 포함하지 않습니다.
 

Windows XP: 이 매개 변수는 예약되어 있으며 0으로 설정해야 합니다.

반환 값

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

의미
ERROR_INVALID_PARAMETER
lpdwListSize 포인터가 없거나 lpContainerIddwType으로 지정된 개체 형식에 대한 유효한 컨테이너가 아닙니다.
ERROR_INSUFFICIENT_BUFFER
lpdwListSize로 지정된 버퍼 크기가 찾은 모든 개체에 비해 너무 작습니다. 함수는 목록을 잘라내고 lpdwListSize의 실제 크기를 반환합니다.
ERROR_INVALID_HANDLE
세션 핸들이 없거나 잘못되었습니다.
ERROR_NOT_ENOUGH_MEMORY
처리하는 동안 할당 오류가 발생했습니다.
ERROR_OBJECT_NOT_FOUND
lpContainerId로 지정된 GUID는 데이터베이스에 있는 컨테이너 개체의 GUID가 아닙니다.
ERROR_SUCCESS
함수가 성공했습니다. lpContainerIddwType에 지정된 형식의 개체가 없으면 함수는 ERROR_SUCCESS 반환하고 lpdwListSize는 0입니다.

설명

보안 함수는 RSM 개체에 대한 특정 액세스 권한을 가져와서 설정하는 데도 사용할 수 있습니다.

lpdwListSize 매개 변수에 지정된 사용 가능한 ID 수가 현재 버퍼 크기보다 큰 경우 lpdwListSize는 필요한 ID 수를 반환합니다. 그러면 애플리케이션이 더 큰 버퍼를 할당하고 다시 시도해야 합니다.

ID를 다른 프로세스에서 추가할 수 있으므로 크기가 조정된 목록이 있는 후속 함수에서 목록이 너무 작다는 오류가 발생할 수 있습니다.

lpContainerId 매개 변수가 NULL로 설정된 경우 RSM은 최상위 개체(예: 라이브러리)를 열거합니다.

둘 이상의 개체가 나열된 경우 개체가 둘 이상의 컨테이너에서 열거될 수 있습니다. NULL 컨테이너는 가장 높은 수준의 컨테이너이며 시스템의 모든 개체를 열거합니다. 예를 들어 특정 라이브러리 또는 시스템의 모든 미디어에서 미디어를 열거할 수 있습니다.

요구 사항

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

추가 정보

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

개체 관리 함수

SetNtmsObjectInformation

SetNtmsObjectSecurity