PrintQueue.UntilTimeOfDay Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit la dernière heure de la journée à laquelle l'imprimante imprime un travail, heure exprimée en nombre de minutes à partir de minuit dans le temps universel coordonné (UTC) (également temps moyen de Greenwich appelé [GMT]).
public:
virtual property int UntilTimeOfDay { int get(); void set(int value); };
public virtual int UntilTimeOfDay { get; set; }
member this.UntilTimeOfDay : int with get, set
Public Overridable Property UntilTimeOfDay As Integer
Valeur de propriété
Heure du jour à laquelle l'imprimante n'est plus disponible, exprimée en nombre de minutes après minuit (UTC). La valeur maximale est 1439. Lorsqu’une imprimante est installée pour la première fois à l’aide de l’Assistant Ajout d’imprimante Microsoft Windows, l’imprimante est par défaut disponible tout le temps, et cette propriété retourne 0 dans tous les fuseaux horaires.
Exemples
L’exemple suivant montre comment utiliser cette propriété pour déterminer si une imprimante est actuellement disponible.
private:
static void ReportAvailabilityAtThisTime (System::String^% statusReport, System::Printing::PrintQueue^ pq)
{
if (pq->StartTimeOfDay != pq->UntilTimeOfDay)
{
System::DateTime utcNow = DateTime::UtcNow;
System::Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If now is not within the range of available times . . .
if (!((pq->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < pq->UntilTimeOfDay)))
{
statusReport = statusReport + " Is not available at this time of day. ";
}
}
};
private static void ReportAvailabilityAtThisTime(ref String statusReport, PrintQueue pq)
{
if (pq.StartTimeOfDay != pq.UntilTimeOfDay) // If the printer is not available 24 hours a day
{
DateTime utcNow = DateTime.UtcNow;
Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If now is not within the range of available times . . .
if (!((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight)
&&
(utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)))
{
statusReport = statusReport + " Is not available at this time of day. ";
}
}
}
Private Shared Sub ReportAvailabilityAtThisTime(ByRef statusReport As String, ByVal pq As PrintQueue)
If pq.StartTimeOfDay <> pq.UntilTimeOfDay Then ' If the printer is not available 24 hours a day
Dim utcNow As Date = Date.UtcNow
Dim utcNowAsMinutesAfterMidnight As Int32 = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes
' If now is not within the range of available times . . .
If Not((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)) Then
statusReport = statusReport & " Is not available at this time of day. "
End If
End If
End Sub
Remarques
Si vous n’êtes pas dans le fuseau horaire UTC, vous devez ajouter ou soustraire des multiples de 60 pour définir ou obtenir l’heure correcte pour votre fuseau horaire. Par exemple, si vous êtes dans le fuseau horaire du Pacifique de Amérique du Nord et que l’heure d’été n’est pas en vigueur, votre heure locale est de 8 heures plus tôt que UTC. Pour définir UntilTimeOfDay sur 12 h dans votre fuseau horaire, vous le définissez sur 8 h UTC, soit 480 (= 8 * 60). Vous devez également vous rappeler que le temps passe à zéro après la 24e heure (la 1439e minute). Pour le définir sur 18 h dans votre fuseau horaire, vous le définissez sur 2 h UTC, soit 120 (= 2 * 60). Consultez TimeZoneles classes , TimeSpanet DateTime pour connaître les méthodes de manipulation de fuseau horaire utiles.
Si l’imprimante est toujours disponible, cette propriété renvoie 0 dans tous les fuseaux horaires.