Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ridimensiona e restituisce la matrice di output BYTE .
Sintassi
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Parametri
cbNewBuffer
[IN] Oggetto DWORD contenente il numero di byte da allocare.
cbBytesToCopy
[IN] Oggetto DWORD contenente il numero di byte da copiare nel ppbBuffer nuovo buffer.
ppbBuffer
[IN] [OUT] Puntatore a una BYTE matrice che contiene il nuovo buffer.
Valore restituito
Oggetto HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
| valore | Definizione |
|---|---|
| S_OK | Indica che l'operazione è riuscita. |
| E_INVALIDARG | Indica che cbBytesToCopy è maggiore di cbNewBuffer. |
| E_OUTOFMEMORY | Indica che la memoria dell'heap è esaurita. |
Commenti
Le classi derivate CGlobalModule che si registrano per gli eventi GL_RSCA_QUERY ricevono un puntatore IGlobalRscaQueryProvider come parametro nel metodo CGlobalModule::OnGlobalRSCAQueryvirtual. È quindi possibile ridimensionare una matrice corrente BYTE chiamando il ResizeOutputBuffer metodo sul IGlobalRSCAQueryProvider puntatore.
Il ResizeOutputBuffer valore restituito dipende dall'implementazione. È consigliabile usare le informazioni seguenti come linea guida, ma potrebbe non essere corretta in tutti gli scenari:
L'implementatore IGlobalRSCAQueryProvider dichiara un private``BYTE puntatore come variabile membro denominata buffer; l'implementatore inizializza buffer su NULL in fase di costruzione. Se il cbBytesToCopy parametro è maggiore del cbNewBuffer parametro quando ResizeOutputBuffer viene chiamato, ResizeOutputBuffer restituisce immediatamente E_INVALIDARG. In caso contrario, la funzione LocalAlloc viene chiamata per creare un nuovo buffer di dimensioni cbNewBuffere il contenuto del ppbBuffer parametro (fino alla lunghezza di cbBytesToCopy) vengono copiati in questo nuovo buffer. La funzione LocalFree viene quindi chiamata per eliminare il buffer privato, che viene riassegnato al nuovo buffer. Il private buffer viene quindi restituito nel parametro dereferenziato ppbBuffer se ResizeOutputBuffer restituisce S_OK.
Importante Questo metodo fa parte dell'infrastruttura IIS 7 e non deve essere usato direttamente dal codice.
Note per gli implementatori
IGlobalRSCAQueryProvider gli implementatori sono responsabili della gestione della memoria con questi dati; pertanto, IGlobalRSCAQueryProvider gli implementatori che usano l'allocazione dinamica della memoria devono rilasciare o chiamare delete sul BYTE puntatore quando non è più necessario.
Note per i chiamanti
IGlobalRSCAQueryProvider gli implementatori sono responsabili della gestione della memoria con questi dati; pertanto, IGlobalRSCAQueryProvider i client non devono rilasciare o chiamare delete sul puntatore restituito BYTE quando questi dati non sono più necessari.
Requisiti
| Tipo | Descrizione |
|---|---|
| Client | - IIS 7.0 in Windows Vista - IIS 7.5 in Windows 7 - IIS 8.0 in Windows 8 - IIS 10.0 in Windows 10 |
| Server | - IIS 7.0 in Windows Server 2008 - IIS 7.5 in Windows Server 2008 R2 - IIS 8.0 in Windows Server 2012 - IIS 8.5 in Windows Server 2012 R2 - IIS 10.0 in Windows Server 2016 |
| Prodotto | - 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 |
| Intestazione | Httpserv.h |
Vedere anche
Interfaccia IGlobalRSCAQueryProvider
Metodo IGlobalRSCAQueryProvider::GetOutputBuffer