MsiSourceListClearMediaDiskA 関数 (msi.h)

MsiSourceListClearMediaDisk 関数は、特定のコンテキストで製品またはパッチのメディア ソースの下にある既存の登録済みディスクを削除する機能を提供します。

構文

UINT MsiSourceListClearMediaDiskA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           DWORD             dwDiskId
);

パラメーター

[in] szProductCodeOrPatchCode

製品またはパッチの ProductCode またはパッチ GUID。 null で終わる文字列を使用します。 文字列が 39 文字を超える場合、関数は失敗し、ERROR_INVALID_PARAMETERを返します。 このパラメーターを NULL にすることはできません。

[in, optional] szUserSid

このパラメーターには、製品またはパッチを含むユーザー アカウントを指定する文字列 SID を指定できます。 SID は検証も解決もされません。 SID が正しくないと、ERROR_UNKNOWN_PRODUCTまたはERROR_UNKNOWN_PATCHが返される可能性があります。

SID の種類 意味
NULL
NULL は、現在ログオンしているユーザーを表します。 現在のユーザー アカウントを参照する場合、 szUserSIDNULLdwContext はMSIINSTALLCONTEXT_USERMANAGEDまたはMSIINSTALLCONTEXT_USERUNMANAGEDできます。
ユーザー SID
システム内の特定のユーザーの列挙を指定します。 ユーザー SID の例としては、"S-1-3-64-2415071341-1358098788-3127455600-2561" があります。
 
メモ 特殊な SID 文字列 s-1-5-18 (システム) を使用して、コンピューターごとにインストールされている製品またはパッチを列挙することはできません。 SID 値を s-1-5-18 に設定すると、ERROR_INVALID_PARAMETERが返されます。 dwContext が MSIINSTALLCONTEXT_MACHINE のみに設定されている場合、szUserSidNULL である必要があります。
 
メモ 特殊な SID 文字列 s-1-1-0 (全員) は使用しないでください。 SID 値を s-1-1-0 に設定すると失敗し、ERROR_INVALID_PARAMを返します。
 

[in] dwContext

このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。

コンテキストの種類 意味
MSIINSTALLCONTEXT_USERMANAGED
製品またはパッチ インスタンスは、ユーザーごとのマネージド コンテキストに存在します。
MSIINSTALLCONTEXT_USERUNMANAGED
製品またはパッチ インスタンスは、ユーザーごとのアンマネージド コンテキストに存在します。
MSIINSTALLCONTEXT_MACHINE
製品またはパッチ インスタンスは、マシンごとのコンテキストに存在します。

[in] dwOptions

dwOptions 値は、szProductCodeOrPatchCode の意味を指定します。

フラグ 説明
MSICODE_PRODUCT
szProductCodeOrPatchCode は製品コード GUID です。
MSICODE_PATCH
szProductCodeOrPatchCode はパッチ コード GUID です。

[in] dwDiskId

このパラメーターは、削除するディスクの ID を提供します。

戻り値

MsiSourceListClearMediaDisk 関数は、次の値を返します。

意味
ERROR_ACCESS_DENIED
ユーザーは、指定されたメディア ソースまたは指定された製品またはパッチを読み取る機能を持っていません。 これは、メディア ソース、製品、またはパッチが見つかったかどうかを示すものではありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INSTALL_SERVICE_FAILURE
Windows インストーラー サービスにアクセスできませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
値が正常に削除されたか、見つかりませんでした。
ERROR_UNKNOWN_PATCH
パッチが見つかりませんでした。
ERROR_UNKNOWN_PRODUCT
製品が見つかりませんでした。
ERROR_FUNCTION_FAILED
予期しない内部エラー。

注釈

管理者は、マシン コンテキストまたはユーザーごとの独自のコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーが管理する任意のユーザーのコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーの非管理対象コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。

管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーが管理しない独自のコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ のソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーは、ポリシーを設定することでソースの参照を有効にすることができます。 詳細については、 DisableBrowseAllowLockdownBrowse、および AlwaysInstallElevated ポリシーを参照してください。

注意

msi.h ヘッダーは、MSISourceListClearMediaDisk をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP 上では Windows インストーラー 3.0 以降。 Windows インストーラーのバージョンに必要な最小の Windows Service Pack については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

こちらもご覧ください

Windows インストーラー 2.0 以前ではサポートされていません

ProductCode