Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Redimensionne et retourne le tableau de sortie BYTE .
Syntaxe
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Paramètres
cbNewBuffer
[IN] DWORD qui contient le nombre d’octets à allouer.
cbBytesToCopy
[IN] DWORD qui contient le nombre d’octets à partir duquel ppbBuffer copier dans la nouvelle mémoire tampon.
ppbBuffer
[IN] [OUT] Pointeur vers un BYTE tableau qui contient la nouvelle mémoire tampon.
Valeur renvoyée
Élément HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
| Valeur | Définition |
|---|---|
| S_OK | Indique que l’opération a réussi. |
| E_INVALIDARG | Indique que cbBytesToCopy est supérieur à cbNewBuffer. |
| E_OUTOFMEMORY | Indique que la mémoire du tas est épuisée. |
Remarques
Les classes dérivées de CGlobalModule qui s’inscrivent à des événements GL_RSCA_QUERY reçoivent un pointeur IGlobalRscaQueryProvider en tant que paramètre sur la méthode CGlobalModule::OnGlobalRSCAQueryvirtual. Vous pouvez ensuite redimensionner un tableau actuel BYTE en appelant la ResizeOutputBuffer méthode sur le IGlobalRSCAQueryProvider pointeur.
La ResizeOutputBuffer valeur de retour dépend de l’implémentation. Vous devez utiliser les informations suivantes comme ligne directrice, mais elles peuvent ne pas être correctes dans tous les scénarios :
L’implémenteur IGlobalRSCAQueryProvider déclare un private``BYTE pointeur en tant que variable membre appelée buffer; l’implémenteur s’initialise buffer sur NULL au moment de la construction. Si le cbBytesToCopy paramètre est supérieur au cbNewBuffer paramètre quand ResizeOutputBuffer est appelé, ResizeOutputBuffer retourne immédiatement E_INVALIDARG. Sinon, la fonction LocalAlloc est appelée pour créer une mémoire tampon de taille cbNewBuffer, et le contenu du ppbBuffer paramètre (jusqu’à la longueur de cbBytesToCopy) est copié dans cette nouvelle mémoire tampon. La fonction LocalFree est ensuite appelée pour supprimer la mémoire tampon privée, qui est réaffectée à la nouvelle mémoire tampon. La private mémoire tampon est ensuite retournée dans le paramètre déréférencement si ppbBufferResizeOutputBuffer retourne S_OK.
Important Cette méthode fait partie de l’infrastructure IIS 7 et n’est pas destinée à être utilisée directement à partir de votre code.
Remarques pour les implémenteurs
IGlobalRSCAQueryProvider les implémenteurs sont responsables de la gestion de la mémoire avec ces données ; par conséquent, IGlobalRSCAQueryProvider les implémenteurs qui utilisent l’allocation de mémoire dynamique doivent libérer ou appeler delete le BYTE pointeur lorsqu’il n’est plus nécessaire.
Remarques pour les appelants
IGlobalRSCAQueryProvider les implémenteurs sont responsables de la gestion de la mémoire avec ces données ; par conséquent, IGlobalRSCAQueryProvider les clients ne doivent pas libérer ou appeler delete le pointeur retourné BYTE lorsque ces données ne sont plus nécessaires.
Spécifications
| Type | Description |
|---|---|
| Client | - IIS 7.0 sur Windows Vista - IIS 7.5 sur Windows 7 - IIS 8.0 sur Windows 8 - IIS 10.0 sur Windows 10 |
| Serveur | - IIS 7.0 sur Windows Server 2008 - IIS 7.5 sur Windows Server 2008 R2 - IIS 8.0 sur Windows Server 2012 - IIS 8.5 sur Windows Server 2012 R2 - IIS 10.0 sur Windows Server 2016 |
| Produit | - 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 |
| En-tête | Httpserv.h |
Voir aussi
IGlobalRSCAQueryProvider, interface
IGlobalRSCAQueryProvider::GetOutputBuffer, méthode