Méthode IPrintCoreUI2 ::GetGlobalAttribute (prcomoem.h)
La IPrintCoreUI2::GetGlobalAttribute
méthode récupère la liste d’attributs globaux ou la valeur d’un attribut global spécifique.
Syntaxe
HRESULT GetGlobalAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Paramètres
[in] poemuiobj
Pointeur vers le contexte actuel, une structure OEMUIOBJ .
[in] dwFlags
Est réservé et doit être défini sur zéro.
[in] pszAttribute
Pointeur vers une mémoire tampon fournie par l’appelant contenant une chaîne ASCII spécifiant l’attribut unique demandé. Si ce paramètre a la valeur NULL, l’appelant demande une liste de tous les noms d’attributs globaux pris en charge, au lieu de spécifier un nom d’attribut global spécifique.
[out] pdwDataType
Pointeur vers un emplacement de mémoire qui reçoit une valeur spécifiant le type de données de l’attribut demandé. Cette valeur est un énumérateur de l’énumération EATTRIBUTE_DATATYPE , définie dans printoem.h.
[out] pbData
Pointeur vers une mémoire tampon fournie par l’appelant qui reçoit les données demandées. Pour simplement interroger le nombre d’octets nécessaires pour répondre à une demande, définissez ce paramètre sur NULL.
[in] cbSize
Spécifie la taille, en octets de la mémoire tampon pointée vers pbData.
[out] pcbNeeded
Pointeur vers un emplacement de mémoire qui reçoit la taille réelle, en octets, des données demandées.
Valeur retournée
Cette méthode doit retourner l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
S_OK |
|
La valeur dans cbSize était inférieure au nombre d’octets à écrire dans la mémoire tampon de sortie (la mémoire tampon pointée par pbData).
La méthode a été appelée avec pbData défini sur NULL. |
|
La méthode a tenté d’interroger un attribut inexistant.
Le paramètre poemuiobj pointait vers un objet de contexte non valide. |
|
Échec de la méthode |
Remarques
Cette méthode est prise en charge uniquement pour les plug-ins Windows XP Pscript5, et non pour les plug-ins Unidrv.
Si cette méthode est appelée avec ses paramètres pszAttribute et pbData définis sur NULL, la méthode retourne avec *pcbNeeded défini sur le nombre d’octets nécessaires pour la liste de tous les noms d’attributs globaux pris en charge. Si la méthode est appelée une deuxième fois, avec pszAttribute défini sur NULL et pbData pointant vers une mémoire tampon de la taille spécifiée dans *pcbNeededed dans l’appel précédent, la méthode retourne avec *pdwDataType défini sur kADT_ASCII (un énumérateur du type EATTRIBUTE_DATATYPE énuméré) et pbData pointant vers une liste délimitée par null de tous les noms d’attributs globaux pris en charge. Cette liste se termine par deux caractères null.
Pour réduire la nécessité d’effectuer deux appels par accès aux données, transmettez à la méthode une mémoire tampon de sortie d’une taille fixe (1 Ko, par exemple), puis case activée la valeur de retour de la fonction. Si la méthode retourne S_OK, la mémoire tampon contient déjà les données intéressantes. Si la méthode retourne E_OUTOFMEMORY, la valeur dans *pcbNeeded est la taille de mémoire tampon nécessaire pour contenir les données intéressantes. L’appelant doit ensuite allouer une mémoire tampon de cette plus grande taille et procéder à un deuxième appel à la méthode.
Pour plus d’informations, consultez Utilisation de GetGlobalAttribute.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | prcomoem.h (inclure Prcomoem.h) |
Voir aussi
IPrintCoreUI2 ::GetFeatureAttribute