Partilhar via


Método LoadPDF na Classe SMS_PDF_Package

O LoadPDF método da classe Windows Management Instrumentation (WMI), no Gestor de Configuração, importa um ficheiro de definição de pacote especificado na loja de ficheiros de definição de pacote.

A seguinte sintaxe é simplificada a partir do código do Formato de Objeto Gerido (MOF) e define o método.

Sintaxe

SInt32 LoadPDF(  
     String PDFFileName,  
     String PDFFile,  
     UInt32 PDFID,  
     String RequiredIconNames[]  
);  

Parâmetros

PDFFileName
Tipo de dados: String

Eliminatórias: [in,SizeLimit("100")]

Percurso completo e nome de arquivo do ficheiro de definição de pacote. O Fornecedor de SMS copia o ficheiro para o \Smsinstalldir\Scripts \<localeid > \Pdfstore \<diretório pdfid > e substitui a extensão do nome de ficheiro .pdf por uma extensão de nome de ficheiro .sms.

PDFFile
Tipo de dados: String

Eliminatórias: [in]

Texto do ficheiro de definição de pacote em si.

PDFID
Tipo de dados: UInt32

Eliminatórias: [fora]

Identificação de ficheiro de definição de pacote atribuído.

RequiredIconNames
Tipo de dados: Matriz String

Eliminatórias: [fora]

Lista de ícones referenciados pelo ficheiro de definição de pacote que deve ser carregado separadamente através do método LoadIconForPDF no método SMS_PDF_Package classe.

Valores de devolução

Um SInt32 tipo de dados que indica 0 para o sucesso ou uma das seguintes bandeiras de aviso de campo bit para falha.

Sinalizador Descrição
WARN_BAD_RUN (0) Informações de execução inválidas especificadas.
WARN_BAD_RESTART (1) Informações de reinício inválidas especificadas.
WARN_BAD_CANRUNWHEN (2) Informação inválida do CanRunQuando especificada.
WARN_BAD_ASSIGNMENT (3) Informações de atribuição inválidas especificadas.
WARN_BAD_DEPENDPROG (4) Informações do Programa Dependente inválido especificadas.
WARN_BAD_SPECIFYDRIVE (5) Informações inválidas do SpecificDrive especificadas.
WARN_BAD_ESTDISKSPACE (6) Informações inválidas do Inválido DodiskSpace especificados.
WARN_NO_SUPPCLINFO (7) Nenhuma informação de Apoio aos Endossos especificada.
WARN_BAD_SUPPCLINFO (8) Informações de Apoio Inválidos DeClients especificados.
WARN_VER1PDF (9) Ficheiro da versão 1.0 utilizado.
WARN_REMPRONOUKEY(10) O programa de remoção está definido, mas não é dada nenhuma chave de desinstalação.

Observações

Quando a sua aplicação importa um ficheiro de definição de pacote que tem o mesmo Name , e propriedades como um ficheiro de Publisher Version Language definição de pacote existente, o ficheiro de definição de pacote existente é substituído, incluindo os ícones e programas de ficheiros. O valor especificado no PDFID parâmetro é mantido.

Código exemplo

O exemplo a seguir mostra como carregar um ficheiro de definição de pacote na loja de pacotes de definição de pacote.

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  

Requisitos

Requisitos de Tempo de Execução

Para obter mais informações, consulte Configuration Manager Server Runtime Requirements (Requisitos de Tempo de Execução do Servidor do Configuration Manager).

Requisitos de Desenvolvimento

Para obter mais informações, consulte Configuration Manager Server Development Requirements (Requisitos de Desenvolvimento do Servidor do Configuration Manager).

Consulte também

Classe WMI do servidor de SMS_PDF_Package