次の方法で共有


クラス SMS_PDF_Packageの LoadPDF メソッド

LoadPDF Windows Management Instrumentation (WMI) クラス メソッドは、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]

クラス SMS_PDF_Package メソッドの LoadIconForPDF メソッドを使用して個別に読み込む必要がある、パッケージ定義ファイルによって参照されるアイコンの一覧。

戻り値

成功の場合は 0 を示す SInt32 データ型、または失敗に対する次のいずれかのビット フィールド警告フラグ。

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) 削除プログラムは設定されていますが、アンインストール キーは指定されません。

解説

アプリケーションが、既存のパッケージ定義ファイルと同じ NamePublisherVersion、および 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 サーバー開発要件」を参照してください。

関連項目

SMS_PDF_Package サーバー WMI クラス