Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ändert die Größe und gibt das Ausgabearray BYTE zurück.
Syntax
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Parameter
cbNewBuffer
[IN] Ein DWORD , der die Anzahl der zuzuordnenden Bytes enthält.
cbBytesToCopy
[IN] Eine DWORD , die die Anzahl der Bytes enthält, aus ppbBuffer denen in den neuen Puffer kopiert werden soll.
ppbBuffer
[IN] [OUT] Ein Zeiger auf ein BYTE Array, das den neuen Puffer enthält.
Rückgabewert
HRESULT. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
| Wert | Definition |
|---|---|
| S_OK | Gibt an, dass der Vorgang erfolgreich war. |
| E_INVALIDARG | Gibt an, dass cbBytesToCopy größer als cbNewBufferist. |
| E_OUTOFMEMORY | Gibt an, dass der Heapspeicher erschöpft ist. |
Bemerkungen
Von CGlobalModule abgeleitete Klassen, die sich für GL_RSCA_QUERY Ereignisse registrieren, erhalten einen IGlobalRscaQueryProvider-Zeiger als Parameter für die CGlobalModule::OnGlobalRSCAQuery-Methodevirtual . Anschließend können Sie die Größe eines aktuellen BYTE Arrays ändern, indem Sie die ResizeOutputBuffer -Methode auf dem IGlobalRSCAQueryProvider Zeiger aufrufen.
Der ResizeOutputBuffer Rückgabewert hängt von der Implementierung ab. Sie sollten die folgenden Informationen als Richtlinie verwenden, aber möglicherweise nicht in allen Szenarien richtig:
Der IGlobalRSCAQueryProvider Implementierer deklariert einen private``BYTE Zeiger als Membervariablen namens buffer. Der Implementierer initialisiert buffer bei der Konstruktion auf NULL. Wenn der cbBytesToCopy Parameter größer als der -Parameter ist, wenn ResizeOutputBuffer aufgerufen cbNewBuffer wird, ResizeOutputBuffer gibt sofort E_INVALIDARG zurück. Andernfalls wird die LocalAlloc-Funktion aufgerufen, um einen neuen Puffer der Größe cbNewBufferzu erstellen, und der Inhalt des ppbBuffer Parameters (bis zur Länge von cbBytesToCopy) wird in diesen neuen Puffer kopiert. Die LocalFree-Funktion wird dann aufgerufen, um den privaten Puffer zu entfernen, der dem neuen Puffer neu zugewiesen wird. Der private Puffer wird dann im abgeleiteten ppbBuffer Parameter zurückgegeben, wenn ResizeOutputBuffer S_OK zurückgegeben wird.
Wichtig Diese Methode ist Teil der IIS 7-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
Hinweise für Implementierer
IGlobalRSCAQueryProviderImplementierer sind für die Speicherverwaltung mit diesen Daten verantwortlich; Daher müssen Implementierer, die die dynamische Speicherzuordnung verwenden, IGlobalRSCAQueryProvider den BYTE Zeiger freigeben oder aufrufendelete, wenn er nicht mehr benötigt wird.
Hinweise für Aufrufer
IGlobalRSCAQueryProviderImplementierer sind für die Speicherverwaltung mit diesen Daten verantwortlich; IGlobalRSCAQueryProvider Daher dürfen Clients den zurückgegebenen BYTE Zeiger nicht freigeben oder aufrufendelete, wenn diese Daten nicht mehr benötigt werden.
Anforderungen
| type | BESCHREIBUNG |
|---|---|
| Client | – IIS 7.0 unter Windows Vista – IIS 7.5 unter Windows 7 – IIS 8.0 unter Windows 8 – IIS 10.0 auf Windows 10 |
| Server | – IIS 7.0 unter Windows Server 2008 – IIS 7.5 unter Windows Server 2008 R2 – IIS 8.0 unter Windows Server 2012 – IIS 8.5 unter Windows Server 2012 R2 – IIS 10.0 auf Windows Server 2016 |
| Produkt | – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
| Header | Httpserv.h |
Weitere Informationen
IGlobalRSCAQueryProvider-Schnittstelle
IGlobalRSCAQueryProvider::GetOutputBuffer-Methode