クラス SMS_PDF_Packageの LoadPDF メソッド
Windows Management Instrumentation (WMI) クラス メソッドはLoadPDF
、Configuration Managerで指定したパッケージ定義ファイルをパッケージ定義ファイル ストアにインポートします。
次の構文は、マネージド オブジェクト形式 (MOF) コードから簡略化され、 メソッドを定義します。
構文
SInt32 LoadPDF(
String PDFFileName,
String PDFFile,
UInt32 PDFID,
String RequiredIconNames[]
);
パラメーター
PDFFileName
データ型: String
修飾子: [in,SizeLimit("100")]
パッケージ定義ファイルの完全パスとファイル名。 SMS プロバイダーは、ファイルを \Smsinstalldir\Scripts\localeid>\<Pdfstore\<pdfid> ディレクトリにコピーし、.pdfファイル名拡張子を .sms ファイル名拡張子に置き換えます。
PDFFile
データ型: String
修飾子: [in]
パッケージ定義ファイル自体のテキスト。
PDFID
データ型: UInt32
修飾子: [out]
割り当てられたパッケージ定義ファイル ID。
RequiredIconNames
データ型: String
配列
修飾子: [out]
Class SMS_PDF_Package メソッドの LoadIconForPDF メソッドを介して個別に読み込む必要がある、パッケージ定義ファイルによって参照されるアイコンの一覧。
戻り値
成功の場合は SInt32
0 を示すデータ型、または失敗の場合は次のいずれかのビット フィールド警告フラグ。
Flag | 説明 |
---|---|
WARN_BAD_RUN (0) | 無効な実行情報が指定されました。 |
WARN_BAD_RESTART (1) | 指定された再起動情報が無効です。 |
WARN_BAD_CANRUNWHEN (2) | 指定された CanRunWhen 情報が無効です。 |
WARN_BAD_ASSIGNMENT (3) | 割り当て情報が無効です。 |
WARN_BAD_DEPENDPROG (4) | 指定された DependentProgram 情報が無効です。 |
WARN_BAD_SPECIFYDRIVE (5) | 指定された SpecifyDrive 情報が無効です。 |
WARN_BAD_ESTDISKSPACE (6) | 指定された EstimatedDiskSpace 情報が無効です。 |
WARN_NO_SUPPCLINFO (7) | サポートされているClients 情報は指定されていません。 |
WARN_BAD_SUPPCLINFO (8) | 指定された SupportedClients 情報が無効です。 |
WARN_VER1PDF (9) | バージョン 1.0 ファイルが使用されます。 |
WARN_REMPRONOUKEY(10) | 削除プログラムは設定されていますが、アンインストール キーは指定されません。 |
注釈
アプリケーションが、既存のパッケージ定義ファイルと同じ Name
、、 Publisher
、 Version
および Language
プロパティを持つパッケージ定義ファイルをインポートすると、ファイル アイコンやプログラムを含む既存のパッケージ定義ファイルが上書きされます。 パラメーターで PDFID
指定された値は保持されます。
コード例
次の例は、パッケージ定義ファイルをパッケージ定義ファイル パッケージ ストアに読み込む方法を示しています。
Const ForReading = 1
Dim fs, f ' File system object and file object.
Dim clsPDF As SWbemObject ' SMS_PDF_Package class definition.
Dim ReturnCode As Long ' Return code value from LoadPDF method.
Dim PDFID As Long ' Package definition file identifier generated from LoadPDF.
Dim PDFContent As String ' Package definition file file content.
Dim ReqIconNames() As Variant ' Required icon names from LoadPDF.
Dim Icon() As Byte ' Icon used as input to LoadIconForPDF method.
Dim i, j As Integer
Dim FileSize As Integer ' Size of the icon file.
Set Services = GetObject("winmgmts:\root\sms\<sitecode>")
' Open the package definition file file and read the content into a string.
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(<path\filename>, ForReading)
PDFContent = f.ReadAll
f.Close
' Load the package definition file into the package definition file store. Use the PDFID and ReqIconNames
' Variables in the LoadIconForPDF method.
Set clsPDF = Services.Get("SMS_PDF_Package")
ReturnCode = clsPDF.LoadPDF(<path\filename>, _
PDFContent, _
PDFID, _
ReqIconNames)
' You must load all the icons for the package definition file if the package definition file contains icons.
For i = LBound(ReqIconNames) To UBound(ReqIconNames)
Open <path> & ReqIconNames(i) For Binary Access Read As #1
FileSize = LOF(1) - 1
ReDim Icon(FileSize)
For j = 0 To FileSize
Get #1, , Icon(j)
Next
Close #1
clsPDF.LoadIconForPDF PDFID, ReqIconNames(i), Icon
Next
要件
ランタイム要件
詳細については、「Configuration Manager サーバーランタイム要件」を参照してください。
開発要件
詳細については、「Configuration Manager サーバー開発要件」を参照してください。