Método LoadPDF na classe SMS_PDF_Package

O LoadPDF método de classe WMI (Instrumentação de Gerenciamento do Windows), no Configuration Manager, importa um arquivo de definição de pacote especificado para o repositório de arquivos de definição de pacote.

A sintaxe a seguir é simplificada a partir do código MOF (Managed Object Format) e define o método.

Sintaxe

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

Parâmetros

PDFFileName Tipo de dados: String

Qualificadores: [in,SizeLimit("100")]

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

PDFFile Tipo de dados: String

Eliminatórias: [em]

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

PDFID Tipo de dados: UInt32

Eliminatórias: [fora]

ID do arquivo de definição de pacote atribuído.

RequiredIconNames Tipo de dados: String matriz

Eliminatórias: [fora]

Lista de ícones referenciados pelo arquivo de definição de pacote que devem ser carregados separadamente por meio do método LoadIconForPDF no método Classe SMS_PDF_Package .

Return Values

Um SInt32 tipo de dados que indica 0 para êxito ou um dos seguintes sinalizadores de aviso de campo de bit para falha.

Flag Descrição
WARN_BAD_RUN (0) Informações de execução inválidas especificadas.
WARN_BAD_RESTART (1) Informações de reinicialização inválidas especificadas.
WARN_BAD_CANRUNWHEN (2) Informações de CanRunWhen inválidas especificadas.
WARN_BAD_ASSIGNMENT (3) Informações de atribuição inválidas especificadas.
WARN_BAD_DEPENDPROG (4) Informações de DependentProgram inválidas especificadas.
WARN_BAD_SPECIFYDRIVE (5) Informações de SpecifyDrive inválidas especificadas.
WARN_BAD_ESTDISKSPACE (6) Informações de EstimatedDiskSpace inválidas especificadas.
WARN_NO_SUPPCLINFO (7) Nenhuma informação de SupportedClients especificada.
WARN_BAD_SUPPCLINFO (8) Informações de SupportedClients inválidas especificadas.
WARN_VER1PDF (9) Versão 1.0 arquivo usado.
WARN_REMPRONOUKEY(10) O programa de remoção está definido, mas nenhuma chave de desinstalação é fornecida.

Comentários

Quando seu aplicativo importa um arquivo de definição de pacote que tem as mesmas Namepropriedades , Publisher, Version, e Language de um arquivo de definição de pacote existente, o arquivo de definição de pacote existente é substituído, incluindo os ícones de arquivo e programas. O valor especificado no PDFID parâmetro é mantido.

Código de exemplo

O exemplo a seguir mostra como carregar um arquivo de definição de pacote no repositório de pacotes do arquivo 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 Requisitos de tempo de execução do servidor do Configuration Manager.

Requisitos de desenvolvimento

Para obter mais informações, consulte Requisitos de Desenvolvimento de Servidor do Configuration Manager.

Confira também

Classe WMI do SMS_PDF_Package Server