다음을 통해 공유


EjectDiskFromSADriveW 함수(ntmsapi.h)

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

EjectDiskFromSADrive 함수는 독립 실행형 이동식 드라이브에 있는 미디어를 배출합니다.

통사론

DWORD EjectDiskFromSADriveW(
  [in] LPCWSTR lpComputerName,
  [in] LPCWSTR lpAppName,
  [in] LPCWSTR lpDeviceName,
  [in] HWND    hWnd,
  [in] LPCWSTR lpTitle,
  [in] LPCWSTR lpMessage,
  [in] DWORD   dwOptions
);

매개 변수

[in] lpComputerName

RSM(이동식 스토리지 관리자) 서버 이름입니다. 이 매개 변수가 NULL경우 현재 컴퓨터 이름이 사용됩니다.

[in] lpAppName

애플리케이션을 식별하는 고유 문자열입니다. 이 이름은 리소스 및 운영자 요청을 식별합니다. 이 매개 변수는 선택 사항이며 NULL수 있습니다.

[in] lpDeviceName

배출할 디바이스의 이름입니다. 예를 들어 \.\Cdrom0 또는 \.\PhysicalDriveX(여기서 X는 액세스 중인 드라이브의 수임)입니다.

[in] hWnd

사용자 확인을 위해 대화 상자 창에 대한 핸들입니다.

[in] lpTitle

사용자 입력을 가져오기 위해 대화 상자에 표시되는 제목입니다.

[in] lpMessage

사용자 입력을 가져오기 위해 대화 상자에 표시되는 메시지입니다.

[in] dwOptions

수행할 작업입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
NTMS_EJECT_START
포트를 사용하여 배출 작업을 시작합니다. 지정된 매체는 시간 제한 이벤트가 발생하거나 함수가 NTMS_EJECT_STOP함께 다시 호출될 때까지 배출됩니다. 제한 시간 값은 라이브러리 개체에 지정되며 라이브러리의 모든 배출에 적용됩니다.
NTMS_EJECT_STOP
시간 제한 이벤트가 경과하기 전에 배출 프로세스를 종료합니다.
NTMS_EJECT_QUEUE
배출을 비동기식으로 허용합니다. 함수는 지정된 미디어를 배출하기 위해 큐에 대기한 다음 반환합니다.
NTMS_EJECT_FORCE
미디어를 강제로 배출합니다. 예를 들어 NTFS는 미디어에 대한 잠금을 유지할 수 있으며, 이 옵션을 사용하면 잠금에도 불구하고 미디어가 배출됩니다.
NTMS_EJECT_IMMEDIATE
미디어를 즉시 동기적으로 꺼내야 합니다. 이 함수는 배출이 완료될 때까지 반환되지 않습니다. 지정된 미디어를 배출하기 위해 큐에 대기하지 않습니다.
NTMS_EJECT_ASK_USER
미디어를 즉시 동기적으로 꺼내야 합니다. 이 함수는 배출이 완료될 때까지 반환되지 않습니다. 지정된 미디어를 배출하기 위해 큐에 대기하지 않습니다. 꺼내기 작업이 실패하면 사용자에게 작업을 취소하거나 강제로 적용하라는 메시지를 표시합니다.

반환 값

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

의미
ERROR_ACCESS_DENIED
라이브러리에 대한 NTMS_CONTROL_ACCESS 거부되었습니다. 다른 보안 오류도 가능하지만 보안 하위 시스템 오류를 나타냅니다.
ERROR_DATABASE_FAILURE
데이터베이스에 액세스할 수 없거나 손상되었습니다.
ERROR_DATABASE_FULL
데이터베이스가 가득 찼습니다.
ERROR_DEVICE_NOT_AVAILABLE
라이브러리를 사용할 수 없습니다.
ERROR_INVALID_HANDLE
세션 ID가 없거나 잘못되었습니다.
ERROR_INVALID_OPERATION
유효하지 않은 작업 ID에서 중지가 수행되었습니다.
ERROR_INVALID_PARAMETER
라이브러리 ID 또는 작업 ID 포인터가 없습니다.
ERROR_LIBRARY_OFFLINE
라이브러리 ID는 미디어를 배출할 수 없는 오프라인 라이브러리를 나타냅니다.
ERROR_MEDIA_NOT_AVAILABLE
미디어를 사용할 수 없습니다.
ERROR_NOT_ENOUGH_MEMORY
처리하는 동안 할당 오류가 발생했습니다.
ERROR_SUCCESS
배출 작업이 성공했습니다.

발언

EjectNtmsMedia 동일한 기능을 수행하는 데 사용할 수 있지만 EjectDiskFromSADrive RSM 이름 대신 드라이브 이름을 지정하여 독립 실행형 장치에서 미디어를 꺼내는 편리한 방법을 제공합니다. 경우에 따라 해당 미디어를 배출하기 위해 미디어의 파일 시스템 잠금을 극복할 수 있는 유일한 방법입니다.

NTMS_EJECT_IMMEDIATE 옵션을 지정하지 않는 한 EjectDiskFromSADrive 함수는 내보내기 요청이 큐에 대기되는 즉시 애플리케이션으로 돌아갑니다.

EjectDiskFromSADrive 함수를 사용하여 배출된 미디어는 오프라인 라이브러리로 이동되거나 데이터베이스에서 삭제됩니다. 가져오기 미디어, 인식할 수 없는 미디어 및 호환되지 않는 미디어는 꺼내면 삭제됩니다.

EjectDiskFromSADrive 함수는 오프라인 라이브러리에서 작동하지 않습니다.

메모

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

요구 사항

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

참고 항목

EjectNtmsMedia

InjectNtmsMedia

라이브러리 컨트롤 함수