Section courante

A propos

Section administrative du site

DosSetSession

DOS : Fixe la session
SESMGR.DLL os2.h

Syntaxe

APIRET DosSetSession( ULONG ulIDSession, PSTATUSDATA psd );

Paramètres

Nom Description
ulIDSession Ce paramètre permet d'indiquer l'identificateur d'une session enfant à fixer dans cette état.
psd Ce paramètre permet d'indiquer un pointeur de structure de données «STATUSDATA» :
Champs Type de données Description
Length USHORT Ce champ permet d'indiquer la longueur de la structure de données «STATUSDATA» en octets.
SelectInd USHORT Ce champ permet d'indiquer si la session de destination doit être sélectionnable ou non sélectionnable :
Constante Valeur Description
SET_SESSION_UNCHANGED 0 Cette valeur permet d'indiquer qu'il faut garder les ajustements courant inchangé.
SET_SESSION_SELECTABLE 1 Cette valeur permet d'indiquer qu'il faut fabriquer une session de destination sélectionnable.
SET_SESSION_NON_SELECTABLE 2 Cette valeur permet d'indiquer qu'il faut fabriquer une session de destination non-sélectionnable.
BondInd USHORT Ce champ permet d'indiquer quel session est de porter de premier plan lors de la prochaine session. Voici les valeurs autorisé :
Constante Valeur Description
SET_SESSION_UNCHANGED 0 Cette valeur permet d'indiquer qu'il faut garder les ajustements courant inchangé.
SET_SESSION_BOND 1 Cette valeur permet d'indiquer que la session de l'enfant est amené au premier plan.
SET_SESSION_NO_BOND 2 Cette valeur permet d'indiquer que la session du parent est amené au premier plan.

Retour

Valeur Constante Description
0 NO_ERROR Cette valeur permet d'indiquer que l'opération s'est correctement effectué
369 ERROR_SMG_INVALID_SESSION_ID Cette valeur permet d'indiquer que l'identificateur de session est invalide pour le gestionnaire de session.
418 ERROR_SMG_INVALID_CALL Cette valeur permet d'indiquer un appel invalide au gestionnaire de session.
455 ERROR_SMG_INVALID_BOND_OPTION Cette valeur permet d'indiquer un erreur de limite d'option invalide s'est produit dans le gestionnaire de session.
456 ERROR_SMG_INVALID_SELECT_OPT Cette valeur permet d'indiquer un erreur de sélection d'option invalide s'est produit dans le gestionnaire de session.
460 ERROR_SMG_PROCESS_NOT_PARENT Cette valeur permet d'indiquer que le processus n'a pas de parent dans le gestionnaire de session.
461 ERROR_SMG_INVALID_DATA_LENGTH Cette valeur permet d'indiquer que les données sont de longueurs invalide dans le gestionnaire de session.
463 ERROR_SMG_RETRY_SUB_ALLOC Cette valeur permet d'indiquer une tentative réallocation dans le gestionnaire de session n'a pas réussis.

Description

Cette fonction permet de fixer deux états de champs dans une session enfant; sélectionnable ou non sélectionnable lequel spécifié si la session enfant doit apparaitre dans la liste des tâches.

Exemple

Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :

  1. #define INCL_DOSERRORS
  2. #define INCL_DOSSESMGR
  3. #include "os2.h"
  4. #include "stdio.h"
  5.  
  6. void main(void) {
  7.     ULONG ulIDSession;
  8.     STATUSDATA sd; 
  9.     sd.Length = sizeof(STATUSDATA);
  10.     sd.SelectInd = SET_SESSION_SELECTABLE; 
  11.     sd.BondInd =  SET_SESSION_UNCHANGED; 
  12.     switch(DosSetSession(ulIDSession, &sd)) {
  13.         case NO_ERROR: printf("Tout va bien !");break;
  14.         case ERROR_SMG_INVALID_SESSION_ID: printf("Erreur : Identificateur de session est invalide pour le gestionnaire de session.");break;
  15.         case ERROR_SMG_INVALID_CALL: printf("Erreur : Un appel invalide au gestionnaire de session.");break;
  16.         case ERROR_SMG_INVALID_BOND_OPTION: printf("Erreur : Un erreur de limite d'option invalide s'est produit dans le gestionnaire de session.");break;
  17.         case ERROR_SMG_INVALID_SELECT_OPT: printf("Erreur : Un erreur de sélection d'option invalide s'est produit dans le gestionnaire de session.");break;
  18.         case ERROR_SMG_PROCESS_NOT_PARENT: printf("Erreur : Le processus n'a pas de parent dans le gestionnaire de session.");break;
  19.         case ERROR_SMG_INVALID_DATA_LENGTH: printf("Erreur : Les données sont de longueurs invalide dans le gestionnaire de session.");break;
  20.         case ERROR_SMG_RETRY_SUB_ALLOC: printf("Erreur : Une tentative réallocation dans le gestionnaire de session n'a pas réussis.");break;
  21.     }
  22. }

Voir également

Langage de programmation - C pour OS/2 - DosStartSession
Langage de programmation - C pour OS/2 - DosStopSession
Langage de programmation - C pour OS/2 - DosSelectSession
Système d'exploitation - OS/2 - Introduction

Dernière mise à jour : Lundi, le 19 juillet 2010