IOpcSignatureCustomObject::GetXml-Methode (msopc.h)
Ruft das XML-Markup eines anwendungsspezifischen Object-Elements ab.
Syntax
HRESULT GetXml(
[out] UINT8 **xmlMarkup,
[out] UINT32 *count
);
Parameter
[out] xmlMarkup
Ein Zeiger auf einen Puffer, der das XML-Markup eines Object-Elements und die öffnenden und schließenden Object-Tags enthält.
Im Puffer wird dem XML-Markup eine Bytereihenfolgenmarkierung vorangestellt, die der Codierung des Markups entspricht.
Unterstützte Codierungen und Bytereihenfolgenwerte .
Codieren | BESCHREIBUNG | Bytereihenfolge-Marke |
---|---|---|
UTF8 | UTF-8 | EF BB BF |
UTF16LE | UTF-16, little endian | FF FE |
UTF16BE | UTF-16, Big Endian | FE FF |
Ein Beispiel für einen Puffer mit einer Bytereihenfolgenmarkierung finden Sie im Abschnitt Hinweise.
[out] count
Ein Zeiger auf die Größe des xmlMarkup-Puffers .
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Mindestens einer der XmlMarkup-Parameter, und count ist NULL. |
Hinweise
Diese Methode ordnet Arbeitsspeicher zu, der von dem in xmlMarkup zurückgegebenen Puffer verwendet wird. Wenn die Methode erfolgreich ist, rufen Sie die CoTaskMemFree-Funktion auf, um den Arbeitsspeicher freizugeben.
Serialisierte anwendungsspezifische Object-Elemente im Signaturmarkup können hinzugefügt, entfernt oder geändert werden, indem das Signaturmarkup ersetzt wird.
Rufen Sie zum Ersetzen von Signaturmarkup die IOpcDigitalSignatureManager::ReplaceSignatureXml-Methode auf. Der Aufrufer muss sicherstellen, dass das Hinzufügen, Löschen oder Ändern anwendungsspezifischer Object-Elemente die Signatur nicht unterbricht.
Um ein anwendungsspezifisches Object-Element oder ein untergeordnetes Element dieses Elements zu signieren, erstellen Sie einen Verweis auf das zu signierende XML-Element. Erstellen Sie den Verweis, indem Sie die IOpcSignatureReferenceSet::Create-Methode aufrufen, wobei der referenceUri-Parameterwert auf "#" festgelegt ist, gefolgt vom Id-Attributwert des Elements, auf das verwiesen wird. Wenn das Id-Attribut des Elements, auf das verwiesen wird, beispielsweise "Application" lautet, legen Sie referenceUri auf "#Application" fest.
Die folgende Tabelle zeigt eine Bytereihenfolgenmarkierung am Anfang eines xmlMarkup-Puffers , der "<Object ID="id1"></Object>" enthält:
Pufferbyteindex | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
---|---|---|---|---|---|---|---|---|---|
UTF8-Wert | EF | BB | BF | '<' | 'O' | 'b' | "j" | 'e' | ... |
UTF16LE-Wert | FF | FE | '<' | 00 | 'O' | 00 | 'b' | 00 | ... |
Threadsicherheit
Das Packen von Objekten ist nicht threadsicher.
Weitere Informationen finden Sie in der Erste Schritte mit der Paketerstellungs-API.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | msopc.h |
Weitere Informationen
Erste Schritte mit der Verpackungs-API
Übersichten
Programmierhandbuch zur Paketerstellungs-API
Verpacken von Schnittstellen für digitale Signaturen
Referenz