다음을 통해 공유


MountNtmsMedia 함수(ntmsapi.h)

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

MountNtmsMedia 함수는 하나 이상의 미디어를 동기적으로 탑재합니다.

구문

DWORD MountNtmsMedia(
  [in]      HANDLE                   hSession,
  [in]      LPNTMS_GUID              lpMediaId,
  [in, out] LPNTMS_GUID              lpDriveId,
  [in]      DWORD                    dwCount,
  [in]      DWORD                    dwOptions,
  [in]      int                      dwPriority,
  [in]      DWORD                    dwTimeout,
            LPNTMS_MOUNT_INFORMATION lpMountInformation
);

매개 변수

[in] hSession

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

[in] lpMediaId

논리 미디어 또는 측면의 고유 식별자 배열입니다.

[in, out] lpDriveId

lpMediaId 매개 변수의 미디어 목록에 해당하는 드라이브 식별자의 배열입니다. 이 배열은 미디어를 탑재할 드라이브 목록을 지정하거나 작업이 완료될 때 미디어가 탑재된 드라이브 목록을 받습니다. 아래 NTMS_MOUNT_SPECIFIC_DRIVE 값을 참조하세요. 탑재가 완료되기 전에 MountNtmsMedia 함수의 시간이 초과되면 RSM은 드라이브 목록을 반환하지 않습니다.

[in] dwCount

lpMediaIdlpDriveId 매개 변수에 전달된 미디어 식별자 및 드라이브 식별자 수입니다. lpMediaIdlpDriveId는 길이가 같은 배열의 첫 번째 요소를 가리킵니다.

[in] dwOptions

옵션입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
NTMS_MOUNT_SPECIFIC_DRIVE
lpDriveId 매개 변수에 제공된 특정 드라이브에 미디어를 탑재합니다.
NTMS_MOUNT_READ
읽기 액세스를 위해 미디어를 탑재합니다. 이 값을 사용하여 읽기 전용 미디어를 탑재합니다.
NTMS_MOUNT_WRITE
쓰기 액세스를 위해 미디어를 탑재합니다. RSM이 Completed 미디어를 탑재하지 못하도록 하려면 이 플래그를 사용합니다. 이 값은 읽기/쓰기 액세스를 위해 NTMS_MOUNT_READ 결합할 수 있습니다.

이 플래그를 선택하면 RSM에서 완료된 미디어를 탑재할 수 없습니다.

NTMS_MOUNT_ERROR_NOT_AVAILABLE
미디어 또는 드라이브를 사용할 수 없는 경우 이 값은 오류를 반환합니다.
NTMS_MOUNT_ERROR_OFFLINE
오프라인 미디어를 탑재하도록 운영자 요청을 실행하지 마세요. 지정된 미디어가 현재 라이브러리에 없는 경우 오류를 반환합니다.

[in] dwPriority

드라이브에 대한 액세스를 허용하기 위해 RSM에서 사용하는 탑재의 우선 순위입니다. 우선 순위 범위는 -15에서 15까지이며 15는 가장 높은 우선 순위이고 0은 기본값입니다. 이 매개 변수는 다음 상수 중 하나를 사용할 수도 있습니다. 특수 탑재 우선 순위가 필요하지 않으면 애플리케이션이 NTMS_PRIORITY_NORMAL 전달해야 합니다.

의미
NTMS_PRIORITY_NORMAL
시간이 중요하지 않은 탑재.
NTMS_PRIORITY_LOW
백그라운드 작업으로 수행되는 탑재입니다.
NTMS_PRIORITY_HIGH
시간이 중요한 탑재.
NTMS_PRIORITY_LOWEST
우선 순위가 가장 낮은 탑재입니다.
NTMS_PRIORITY_HIGHEST
우선 순위가 가장 높은 탑재입니다.

[in] dwTimeout

지정된 미디어를 탑재할 수 있는 최대 시간(밀리초)입니다. 탑재가 완료될 때까지 기다리려면 이 매개 변수를 INFINITE로 설정합니다.

lpMountInformation

이 매개 변수는 예약되어 있으며 NULL이어야 합니다.

반환 값

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

의미
ERROR_ACCESS_DENIED
미디어 풀 또는 미디어가 포함된 라이브러리에 대한 NTMS_USE_ACCESS 거부되었습니다. 다른 보안 오류도 가능하지만 보안 하위 시스템 오류를 나타냅니다.
ERROR_BUSY
미디어 또는 드라이브가 사용 중입니다.
ERROR_CANCELLED
CloseNtmsSession 함수에 의해 요청이 취소되었습니다.
ERROR_DATABASE_FAILURE
데이터베이스에 액세스할 수 없거나 손상되었습니다.
ERROR_DATABASE_FULL
데이터베이스가 가득 찼습니다.
ERROR_DRIVE_MEDIA_MISMATCH
지정된 미디어와 드라이브가 동일한 라이브러리에 없습니다.
ERROR_INVALID_DRIVE
지정된 드라이브 중 하나 이상이 잘못되었습니다.
ERROR_INVALID_LIBRARY
드라이브 또는 미디어를 포함하는 라이브러리가 잘못되었습니다.
ERROR_INVALID_MEDIA
지정된 미디어 중 하나 이상이 유효하지 않거나 미디어 목록에 중복된 미디어 ID가 있습니다.
ERROR_INVALID_STATE
탑재하는 동안 예기치 않은 미디어 또는 디바이스 상태가 발생했습니다.
ERROR_MEDIA_OFFLINE
미디어가 오프라인 상태이며 탑재할 수 없습니다.
ERROR_NOT_ENOUGH_MEMORY
처리하는 동안 메모리 할당 오류가 발생했습니다.
ERROR_REQUEST_REFUSED
사용자가 사용자 인터페이스를 통해 요청을 취소했습니다.
ERROR_RESOURCE_DISABLED
탑재를 수행하는 데 필요한 하나 이상의 리소스가 사용하지 않도록 설정됩니다.
ERROR_SUCCESS
미디어가 탑재되었으며 사용할 준비가 되었습니다.
ERROR_TIMEOUT
하나 이상의 필수 리소스를 획득하는 동안 시간 제한 이벤트가 만료되었습니다. 탑재 요청이 취소되었습니다.
ERROR_WRITE_PROTECT
미디어 상태가 Completed로 설정되고 NTMS_MOUNT_WRITE 값이 지정되었습니다.

설명

MountNtmsMedia 함수는 지정된 미디어를 탑재하기 위한 요청을 큐에 대기한 다음 탑재가 완료되거나 오류가 검색될 때까지 dwTimeout 매개 변수에 지정된 시간(밀리초)을 기다립니다. dwTimeout이 만료되기 전에 RSM이 탑재 작업을 완료할 수 없는 경우 NTMS는 요청을 취소하고 오류를 반환합니다. 지정된 미디어가 오프라인 라이브러리에 있는 경우 애플리케이션이 장기간 차단될 수 있습니다. GetNtmsObjectInformation 함수를 사용하여 지정된 매체의 현재 위치를 확인할 수 있습니다. 미디어가 오프라인 상태일 때 연산자 요청 대신 NTMS_MOUNT_ERROR_OFFLINE 값을 사용하여 즉각적인 오류를 생성할 수도 있습니다.

지정된 매체를 사용 중이거나 드라이브를 사용할 수 없는 경우 프로세스는 제한 시간 값까지 차단하고 ERROR_BUSY 반환합니다. NTMS_MOUNT_ERROR_NOT_AVAILABLE 값을 지정하면 리소스(미디어 또는 드라이브)를 사용할 수 없는 경우 함수는 즉각적인 오류를 반환합니다.

INFINITE의 제한 시간 값을 사용하여 시간 초과 없이 함수를 대기할 수 있습니다. 0이 아닌 시간 제한 값이 dwTimeout 매개 변수에 지정되면 RSM은 lpMediaId 에 지정된 모든 미디어가 탑재될 때까지 기다립니다. 모든 미디어가 탑재되기 전에 지정된 시간이 경과하면 MountNtmsMedia 함수는 오류를 반환하고 요청을 취소합니다. 애플리케이션은 반환된 상태 검사하고 원하는 경우 요청을 다시 제출할 수 있습니다.

탑재할 여러 미디어를 단일 호출로 지정하면 지정된 모든 미디어가 단일 라이브러리에 있어야 합니다. 지정된 미디어 중 하나라도 오프라인 상태이면 모든 미디어가 온라인 상태가 될 때까지 미디어가 탑재되지 않습니다.

탑재가 완료되면 드라이브 상태(예: 수정 또는 변수 모드)가 정의되지 않습니다. 애플리케이션은 드라이브를 설정해야 합니다.

CloseNtmsSession 함수를 사용하여 보류 중인 탑재를 취소할 수 있습니다. 기본 동작은 다음과 같습니다.

  • 지정된 매체가 오프라인인 경우 RSM은 미디어를 탑재하기 위한 운영자 요청을 게시하고 MountNtmsMedia 함수는 dwTimeout 매개 변수에 지정된 기간 동안 대기합니다.
  • 지정된 매체가 온라인 상태이면 RSM에서 탑재를 요청합니다.
  • 드라이브 또는 미디어를 사용할 수 없는 경우 RSM은 요청을 보내고 MountNtmsMedia 함수는 dwTimeout 매개 변수에 지정된 기간 동안 대기합니다.

요구 사항

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

추가 정보

Media Services 함수