MesEncodeDynBufferHandleCreate-Funktion (midles.h)
Die MesEncodeDynBufferHandleCreate-Funktion erstellt ein Codierungshandle und initialisiert es dann für einen dynamischen Pufferstil der Serialisierung.
Syntax
RPC_STATUS MesEncodeDynBufferHandleCreate(
char **pBuffer,
unsigned long *pEncodedSize,
handle_t *pHandle
);
Parameter
pBuffer
Zeiger auf einen Zeiger auf den vom Stub bereitgestellten Puffer, der die Codierung enthält, nachdem die Serialisierung abgeschlossen ist.
pEncodedSize
Zeiger auf die Größe der abgeschlossenen Codierung. Die Größe wird durch nachfolgende Codierungsvorgänge in den Speicherspeicherort geschrieben, auf den pEncodedSize verweist.
pHandle
Zeiger auf die Adresse, an die das Handle geschrieben wird.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Das Argument war ungültig. |
|
Nicht genügend Arbeitsspeicher. |
Hinweise
Die MesEncodeDynBufferHandleCreate-Routine wird von Anwendungen verwendet, um den Arbeitsspeicher zuzuweisen und das Handle für den dynamischen Pufferstil der Codierung zu initialisieren. Bei Verwendung des dynamischen Pufferstils der Codierung wird der Puffer, in dem alle codierten Daten platziert werden, vom Stub bereitgestellt. Dieser Puffer wird vom aktuellen Clientspeicherverwaltungsmechanismus zugewiesen.
Die Verwendung dieses Stils für mehrere Codierungen mit demselben Handle kann Auswirkungen auf die Leistung haben. Ein einzelner Puffer wird von einer Codierung zurückgegeben, und Daten werden aus Zwischenpuffern kopiert. Die Puffer werden bei Bedarf freigegeben.
Wenn ein Stub mit -protocol all oder -protocol ndr64 kompiliert wird und der Puffer mithilfe der NDR64-Übertragungssyntax codiert werden soll, muss die MesBufferHandleReset-Funktion aufgerufen werden, wobei ihr OpCode-Parameter auf MES_ENCODE_NDR64 festgelegt ist.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | midles.h (include Rpc.h) |
Bibliothek | Rpcrt4.lib |
DLL | Rpcrt4.dll |