MsiSourceListEnumSourcesW 함수(msi.h)
MsiSourceListEnumSources 함수는 지정된 패치 또는 제품의 원본 목록에 있는 원본을 열거합니다.
통사론
UINT MsiSourceListEnumSourcesW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[in, optional] LPWSTR szSource,
[in, out, optional] LPDWORD pcchSource
);
매개 변수
[in] szProductCodeOrPatchCode
제품 또는 패치의 ProductCode 또는 패치 GUID입니다. null로 끝나는 문자열을 사용합니다. 문자열이 39자보다 길면 함수가 실패하고 ERROR_INVALID_PARAMETER 반환합니다. 이 매개 변수는 NULL
[in, optional] szUserSid
제품 또는 패치가 포함된 사용자 계정을 지정하는 문자열 SID입니다. SID가 유효성을 검사하거나 확인되지 않습니다. 잘못된 SID는 ERROR_UNKNOWN_PRODUCT 또는 ERROR_UNKNOWN_PATCH 반환할 수 있습니다. 컴퓨터 컨텍스트를 참조할 때
[in] dwContext
제품 또는 패치 인스턴스의 컨텍스트입니다. 이 매개 변수는 다음 값 중 하나를 포함할 수 있습니다.
[in] dwOptions
dwOptions 값은 szProductCodeOrPatchCode 값의 해석과 지울 원본 유형을 결정합니다. 이 매개 변수는 다음 MSISOURCETYPE_* 상수 중 하나와 다음 MSICODE_* 상수 중 하나의 조합이어야 합니다.
기 | 의미 |
---|---|
|
원본이 네트워크 유형입니다. |
|
원본이 URL 형식입니다. |
|
szProductCodeOrPatchCode 제품 코드입니다. |
|
szProductCodeOrPatchCode 패치 코드입니다. |
[in] dwIndex
검색할 원본의 인덱스입니다. 이 매개 변수는 MsiSourceListEnumSources 함수에 대한 첫 번째 호출에 대해 0이어야 하며, 함수가 ERROR_NO_MORE_ITEMS 반환될 때까지 후속 호출에 대해 증가해야 합니다. 이전 호출이 ERROR_SUCCESS 반환된 경우에만 인덱스가 증가해야 합니다.
[in, optional] szSource
열거 중인 원본에 대한 경로를 수신하는 버퍼에 대한 포인터입니다. 이 버퍼는 수신된 값을 포함할 수 있을 만큼 커야 합니다. 버퍼가 너무 작으면 함수는 ERROR_MORE_DATA 반환하고 *pcchSource 종료 NULL 문자를 포함하지 않고 값의 TCHAR 수로 설정합니다.
[in, out, optional] pcchSource
szSource 버퍼의 TCHAR 수를 지정하는 변수에 대한 포인터입니다. 함수가 반환될 때 이 매개 변수는 함수가 지정된 버퍼에 값을 복사하는지 여부에 관계없이 요청된 값의 크기로 설정됩니다. 크기는 종료 null 문자를 포함하지 않고 요청된 값에서 TCHAR 수로 반환됩니다.
이 매개 변수는
반환 값
MsiSourceListEnumSources 함수는 다음 값을 반환합니다.
값 | 의미 |
---|---|
|
사용자에게 지정된 원본 목록을 읽을 수 있는 기능이 없습니다. 제품 또는 패치가 있는지 여부는 표시되지 않습니다. |
|
구성 데이터가 손상되었습니다. |
|
잘못된 매개 변수가 함수에 전달됩니다. |
|
제공된 버퍼가 요청된 데이터를 포함하기에 충분하지 않습니다. |
|
지정된 목록에 열거할 원본이 더 이상 없습니다. |
|
원본이 성공적으로 열거됩니다. |
|
지정된 컨텍스트의 컴퓨터에 지정된 패치가 설치되어 있지 않습니다. |
|
지정된 제품이 지정된 컨텍스트에서 컴퓨터에 설치되지 않았습니다. |
|
예기치 않은 내부 오류입니다. |
발언
단일 제품 인스턴스에 대한 모든 원본을 열거하기 위해 MsiSourceListEnumSources 여러 번 호출하는 경우 각 호출은 동일한 스레드에서 수행되어야 합니다.
관리자는 사용자별로 관리되지 않는 설치 및 관리되는 설치, 컴퓨터별 설치 및 모든 사용자에 대한 사용자별 관리형 설치를 열거할 수 있습니다. 관리자는 다른 사용자의 관리되지 않는 사용자별 설치를 열거할 수 없습니다. 비관리자는 관리되지 않는 사용자별 및 관리형 설치 및 컴퓨터별 설치만 열거할 수 있습니다.
메모
msi.h 헤더는 MSiSourceListEnumSources를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 3.0 이상 Windows Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer Run-Time 요구 사항을 참조하세요. |
대상 플랫폼 | Windows |
헤더 | msi.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |
참고 항목
Windows Installer 2.0 및 이전 지원되지 않음