類別SMS_PDF_Package中的 LoadPDF 方法
Windows LoadPDF
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]
指派的套件定義檔案識別碼。
RequiredIconNames
資料類型: String
陣列
限定詞:[out]
套件定義檔所參考的圖示清單,必須透過 Class SMS_PDF_Package 方法中的 LoadIconForPDF 方法 個別載入。
傳回值
資料 SInt32
類型,表示成功為 0,或是下列其中一個位欄位警告旗標失敗。
國旗 | 描述 |
---|---|
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) | 未指定 SupportedClients 資訊。 |
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伺服器開發需求。