다음을 통해 공유


MsiLocateComponentW 함수(msi.h)

MsiLocateComponent 함수는 제품 코드 없이 설치된 구성 요소에 대한 전체 경로를 반환합니다. 이 함수는 MsiGetProductCode를 사용하여 제품을 확인하려고 시도하지만 호출자에 대한 올바른 제품을 찾을 수 있는 것은 아닙니다. 가능한 경우 MsiGetComponentPath 를 항상 호출해야 합니다.

구문

INSTALLSTATE MsiLocateComponentW(
  [in]      LPCWSTR szComponent,
  [out]     LPWSTR  lpPathBuf,
  [in, out] LPDWORD pcchBuf
);

매개 변수

[in] szComponent

배치할 구성 요소의 구성 요소 ID를 지정합니다.

[out] lpPathBuf

구성 요소의 경로를 수신하는 변수에 대한 포인터입니다. 변수에는 종료 null 문자가 포함됩니다.

[in, out] pcchBuf

lpPathBuf 매개 변수가 가리키는 버퍼의 크기(문자)를 지정하는 변수에 대한 포인터입니다. 입력에서 종료 null 문자에 대한 공간을 포함하여 버퍼의 전체 크기입니다. MsiLocateComponent 함수가 성공하면 pcchBuf에서 가리키는 변수에는 종료 null 문자를 포함하지 않는 문자 수가 포함됩니다. 전달된 버퍼의 크기가 너무 작으면 함수는 INSTALLSTATE_MOREDATA 반환합니다.

lpPathBuf가 null이면 pcchBuf가 null일 수 있습니다.

반환 값

의미
INSTALLSTATE_NOTUSED
요청되는 구성 요소가 컴퓨터에서 비활성화됩니다.
INSTALLSTATE_ABSENT
구성 요소가 설치되지 않았습니다. 설명 부분을 참조하세요.
INSTALLSTATE_INVALIDARG
함수 매개 변수 중 하나가 잘못되었습니다.
INSTALLSTATE_LOCAL
구성 요소가 로컬로 설치됩니다.
INSTALLSTATE_MOREDATA
제공된 버퍼가 너무 작습니다.
INSTALLSTATE_SOURCE
구성 요소가 원본에서 실행되도록 설치됩니다.
INSTALLSTATE_SOURCEABSENT
구성 요소 원본에 액세스할 수 없습니다.
INSTALLSTATE_UNKNOWN
제품 코드 또는 구성 요소 ID를 알 수 없습니다. 설명 부분을 참조하세요.

설명

MsiLocateComponent 함수는 다음과 같은 이유로 INSTALLSTATE_ABSENT 또는 INSTALL_STATE_UNKNOWN 반환할 수 있습니다.

  • INSTALLSTATE_ABSENT

    애플리케이션은 MsiUseFeature 및 필요한 경우 MsiConfigureFeature를 호출하여 기능이 설치되었는지 제대로 확인하지 못했습니다.

  • INSTALLSTATE_UNKNOWN

    이 기능은 게시되지 않습니다. 애플리케이션은 이전에 MsiQueryFeatureState 또는 MsiEnumFeatures를 호출하여 이를 결정했어야 합니다. 애플리케이션은 초기화하는 동안 이러한 호출을 합니다. 애플리케이션은 게시되는 것으로 알려진 기능만 사용해야 합니다. msiUseFeature에서도 INSTALLSTATE_UNKNOWN 반환되었어야 하므로 MsiUseFeature가 호출되지 않았거나 반환 값이 제대로 검사되지 않았습니다.

참고

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

요구 사항

   
지원되는 최소 클라이언트 Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer. Windows Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer 런타임 요구 사항을 참조하세요.
대상 플랫폼 Windows
헤더 msi.h
라이브러리 Msi.lib
DLL Msi.dll

참고 항목

구성 요소별 함수