InjectNtmsMedia 함수(ntmsapi.h)
[Windows 7 및 Windows Server 2008 R2를 기준으로 이동식 스토리지 관리자 를 더 이상 사용할 수 없습니다.]
InjectNtmsMedia 함수를 사용하면 지정된 라이브러리의 포트에 미디어를 삽입할 수 있습니다. 라이브러리가 사용 중인 경우 RSM은 InjectNtmsMedia를 큐에 대기하고 성공을 반환합니다.
구문
DWORD InjectNtmsMedia(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpLibraryId,
[out] LPNTMS_GUID lpInjectOperation,
[in] DWORD dwAction
);
매개 변수
[in] hSession
OpenNtmsSession 함수에서 반환된 세션에 대한 핸들입니다.
[in] lpLibraryId
라이브러리 개체의 고유 식별자입니다.
[out] lpInjectOperation
라이브러리 삽입 작업의 GUID입니다. dwAction이 NTMS_INJECT_START 경우 이 매개 변수는 작업에 대한 GUID를 받습니다. dwAction이 NTMS_INJECT_STOP 경우 작업을 중지하려면 이 매개 변수를 GUID로 설정해야 합니다.
[in] dwAction
이 매개 변수는 다음 값 중 하나일 수 있습니다.
반환 값
이 함수는 다음 값 중 하나를 반환합니다.
값 | 의미 |
---|---|
|
라이브러리에 대한 NTMS_CONTROL_ACCESS 거부되었습니다. 다른 보안 오류도 가능하지만 보안 하위 시스템 오류를 나타냅니다. |
|
데이터베이스에 액세스할 수 없거나 손상되었습니다. |
|
데이터베이스가 가득 찼습니다. |
|
라이브러리를 사용할 수 없습니다. |
|
세션 ID가 없거나 유효하지 않습니다. |
|
중지 작업이 유효하지 않은 작업 ID에 대해 수행되었습니다. |
|
라이브러리 ID 또는 작업 ID 포인터가 없습니다. |
|
라이브러리 ID는 미디어를 배출할 수 없는 오프라인 라이브러리를 나타냅니다. |
|
처리하는 동안 할당 오류가 발생했습니다. |
|
삽입이 큐에 대기 중입니다. |
설명
이 함수는 삽입 요청이 큐에 대기되는 즉시 애플리케이션으로 돌아갑니다.
InjectNtmsMedia 함수로 지정된 라이브러리에 포트가 없는 경우 AccessNtmsLibraryDoor 함수를 사용하여 미디어를 삽입하고 배출합니다.
이 함수는 오프라인 라이브러리와 함께 사용할 수 없습니다.
삽입은 라이브러리에 미디어를 삽입하는 프로세스를 시작합니다. 라이브러리는 NTMS_IEPORT 개체의 기능에 따라 다르므로 각 디바이스가 약간 다르게 작동할 수 있습니다. 다음 단계에서는 RSM이 일반적으로 삽입을 처리하는 방법을 설명합니다.
라이브러리에 미디어를 삽입하려면
- NTMS_IEPORT 허용/잠금 해제/확장합니다.
- 전체 NTMS_IEPORT, 철회된 NTMS_IEPORT, 삽입 중지 명령 또는 제한 시간 값에 대해 폴링합니다. 이러한 문제가 발생하지 않은 경우 계속 기다립니다. (다중 카트리지 삽입/배출 포트는 전체 상태 검사되지 않습니다.)
- 앞의 이벤트 중 하나가 발생하면 NTMS_IEPORT 잠기고, NTMS_IEPORT 각 매체가 슬롯으로 이동되고, 식별 매체 명령이 각 매체에 대해 큐에 대기합니다.
여유 슬롯이 없으면 InjectNtmsMedia 함수에 오류가 발생합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ntmsapi.h |
라이브러리 | Ntmsapi.lib |
DLL | Ntmsapi.dll |