分享方式:


類別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) 已設定移除程式,但未指定卸載金鑰。

註解

當您的應用程式匯入與現有封裝定義檔具有相同 NamePublisherVersionLanguage 屬性的套件定義檔時,會覆寫現有的封裝定義檔案,包括檔案圖示和程式。 參數中指定的 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 類別