Share via


CM_Request_Device_Eject_ExA 함수(cfgmgr32.h)

[Windows 8 및 Windows Server 2012부터 이 함수는 더 이상 사용되지 않습니다. 대신 CM_Request_Device_Eject 사용하세요.]

CM_Request_Device_Eject_Ex 함수는 디바이스가 이동식인 경우 안전한 제거를 위해 로컬 또는 원격 디바이스 instance 준비합니다. 디바이스를 물리적으로 배출할 수 있는 경우 디바이스가 제거됩니다.

구문

CMAPI CONFIGRET CM_Request_Device_Eject_ExA(
  [in]            DEVINST        dnDevInst,
  [out, optional] PPNP_VETO_TYPE pVetoType,
  [out, optional] LPSTR          pszVetoName,
  [in]            ULONG          ulNameLength,
  [in]            ULONG          ulFlags,
  [in, optional]  HMACHINE       hMachine
);

매개 변수

[in] dnDevInst

hMachine에서 제공하는 컴퓨터 핸들에 바인딩된 호출자 제공 디바이스 instance 핸들입니다.

[out, optional] pVetoType

(선택 사항) NULL이 아닌 경우 제거 요청이 실패할 경우 실패 이유를 나타내는 PNP_VETO_TYPE 형식화된 값을 수신하는 위치를 가리킵니다.

[out, optional] pszVetoName

(선택 사항) NULL이 아닌 경우 텍스트 문자열을 수신하는 문자열 버퍼에 대한 호출자 제공 포인터입니다. 이 문자열이 제공하는 정보의 형식은 pVetoType에서 받은 값에 따라 달라집니다. 이러한 문자열에 대한 자세한 내용은 PNP_VETO_TYPE 참조하세요.

[in] ulNameLength

(선택 사항) pszVetoName에서 제공하는 문자열 버퍼의 길이를 나타내는 호출자 제공 값입니다. MAX_PATH 설정해야 합니다.

[in] ulFlags

사용되지 않습니다.

[in, optional] hMachine

호출자가 제공한 디바이스 instance 핸들이 바인딩된 호출자 제공 컴퓨터 핸들입니다.

참고 이 기능이 제거되었으므로 이 함수를 사용하여 원격 머신에 액세스하는 것은 Windows 8 및 Windows Server 2012부터 지원되지 않습니다.
 

반환 값

작업이 성공하면 함수는 CR_SUCCESS 반환합니다. 그렇지 않으면 Cfgmgr32.h에 정의된 CR_ 접두사 오류 코드 중 하나를 반환합니다.

설명

pszVetoNameNULL인 경우 PnP 관리자는 디바이스가 제거되었음을 나타내는 메시지를 사용자에게 표시하거나, 요청이 실패한 경우 실패 이유를 식별합니다. pszVetoNameNULL이 아니면 PnP 관리자가 메시지를 표시하지 않습니다. 그러나 Microsoft Windows 2000의 경우 pszVetoNameNULL이 아니더라도 디바이스의 CM_DEVCAP_DOCKDEVICE 기능이 설정된 경우에도 PnP 관리자가 메시지를 표시합니다.

원격 컴퓨터의 경우 이 함수는 "dock" 디바이스 인스턴스에 대해서만 작동합니다. 즉, 함수는 원격으로만 머신의 도킹을 해제하는 데 사용할 수 있습니다. 이 경우 호출자에게 SeUndockPrivilege가 있어야 합니다.

CM_Request_Eject_Ex 호출자에게 다음과 같이 SeUndockPrivilege 또는 SeLoadDriverPrivilege가 필요한 경우가 있습니다.

  • 디바이스의 CM_DEVCAP_DOCKDEVICE 기능이 설정된 경우(디바이스가 "dock" 디바이스인 경우) 호출자에게 SeUndockPrivilege가 있어야 합니다. (SeLoadDriverPrivilege는 필요하지 않습니다.)
  • 디바이스의 CM_DEVCAP_DOCKDEVICE 기능이 설정되지 않고(디바이스가 "도크" 디바이스가 아님) 호출 프로세스가 대화형이 아니거나 실제 콘솔에 연결되지 않은 세션의 다중 사용자 환경에서 실행 중인 경우(예: 원격 터미널 서비스 세션) 이 함수의 호출자는 SeLoadDriverPrivilege가 있어야 합니다.
권한은 Microsoft Windows SDK 설명서에 설명되어 있습니다.

로컬 또는 원격 컴퓨터에 바인딩된 디바이스 instance 핸들을 사용하는 방법에 대한 자세한 내용은 CM_Get_Child_Ex 참조하세요.

원격 머신에 액세스하는 기능은 Windows 8 및 Windows Server 2012 이상 운영 체제에서 제거되었으므로 이러한 버전의 Windows에서 실행할 때 원격 컴퓨터에 액세스할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 cfgmgr32.h(Cfgmgr32.h 포함)
라이브러리 Cfgmgr32.lib

추가 정보

CM_Get_Child_Ex
CM_Query_And_Remove_SubTreeCM_Query_And_Remove_SubTree_ExCM_Request_Device_Eject