Método LoadPDF en la clase SMS_PDF_Package
El LoadPDF
método de clase Instrumental de administración de Windows (WMI), en Configuration Manager, importa un archivo de definición de paquete especificado en el almacén de archivos de definición de paquete.
La sintaxis siguiente se simplifica a partir del código de formato de objeto administrado (MOF) y define el método .
Sintaxis
SInt32 LoadPDF(
String PDFFileName,
String PDFFile,
UInt32 PDFID,
String RequiredIconNames[]
);
Parámetros
PDFFileName
Tipo de datos: String
Calificadores: [in,SizeLimit("100")]
Ruta de acceso completa y nombre de archivo del archivo de definición de paquete. El proveedor de SMS copia el archivo en el directorio \Smsinstalldir\Scripts\<localeid>\Pdfstore\<pdfid> y reemplaza la extensión de nombre de archivo .pdf por una extensión de nombre de archivo .sms.
PDFFile
Tipo de datos: String
Calificadores: [in]
Texto del propio archivo de definición de paquete.
PDFID
Tipo de datos: UInt32
Calificadores: [out]
Identificador de archivo de definición de paquete asignado.
RequiredIconNames
Tipo de datos: String
Matriz
Calificadores: [out]
Lista de iconos a los que hace referencia el archivo de definición de paquete que se deben cargar por separado a través del método LoadIconForPDF en la clase SMS_PDF_Package método.
Valores devueltos
Tipo SInt32
de datos que indica que 0 se ha realizado correctamente o una de las siguientes marcas de advertencia de campo de bits para el error.
Flag | Descripción |
---|---|
WARN_BAD_RUN (0) | Se especificó información de ejecución no válida. |
WARN_BAD_RESTART (1) | Información de reinicio no válida especificada. |
WARN_BAD_CANRUNWHEN (2) | CanRunWhen información no válida especificada. |
WARN_BAD_ASSIGNMENT (3) | Información de asignación no válida especificada. |
WARN_BAD_DEPENDPROG (4) | Se especificó información de DependentProgram no válida. |
WARN_BAD_SPECIFYDRIVE (5) | Se especificó información de SpecifyDrive no válida. |
WARN_BAD_ESTDISKSPACE (6) | Se especificó información de EstimatedDiskSpace no válida. |
WARN_NO_SUPPCLINFO (7) | No se especificó información de SupportedClients. |
WARN_BAD_SUPPCLINFO (8) | Se especificó información de SupportedClients no válida. |
WARN_VER1PDF (9) | Archivo de la versión 1.0 usado. |
WARN_REMPRONOUKEY(10) | El programa de eliminación está establecido, pero no se da ninguna clave de desinstalación. |
Comentarios
Cuando la aplicación importa un archivo de definición de paquete que tiene las mismas Name
propiedades , Publisher
, Version
y Language
como un archivo de definición de paquete existente, se sobrescribe el archivo de definición de paquete existente, incluidos los iconos de archivo y los programas. Se conserva el valor especificado en el PDFID
parámetro .
Código de ejemplo
En el ejemplo siguiente se muestra cómo cargar un archivo de definición de paquete en el almacén de paquetes de archivos de definición de paquete.
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 del entorno de ejecución
Para obtener más información, consulte requisitos de tiempo de ejecución de Configuration Manager Server.
Requisitos de desarrollo
Para obtener más información, consulte requisitos de desarrollo de Configuration Manager Server.