SetTapePosition, fonction (winbase.h)
La fonction SetTapePosition définit la position de la bande sur l’appareil spécifié.
Syntaxe
DWORD SetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionMethod,
[in] DWORD dwPartition,
[in] DWORD dwOffsetLow,
[in] DWORD dwOffsetHigh,
[in] BOOL bImmediate
);
Paramètres
[in] hDevice
Gérez l’appareil sur lequel définir la position de la bande. Ce handle est créé à l’aide de la fonction CreateFile .
[in] dwPositionMethod
Type de positionnement à effectuer. Ce paramètre peut prendre les valeurs suivantes.
[in] dwPartition
Partition à placer dans. Si dwPartition est égal à zéro, la partition actuelle est utilisée. Les partitions sont numérotées logiquement de 1 à n, où 1 est la première partition sur la bande et n est la dernière.
[in] dwOffsetLow
Bits d’ordre inférieur de l’adresse ou du nombre de blocs pour l’opération de position spécifiée par le paramètre dwPositionMethod .
[in] dwOffsetHigh
Bits d’ordre élevé de l’adresse de bloc ou du nombre pour l’opération de position spécifiée par le paramètre dwPositionMethod . Si les bits d’ordre élevé ne sont pas requis, ce paramètre doit être égal à zéro.
[in] bImmediate
Indique s’il faut retourner dès que l’opération de déplacement commence. Si ce paramètre a la valeur TRUE, la fonction retourne immédiatement ; si la valeur est FALSE, la fonction ne retourne pas tant que l’opération de déplacement n’est pas terminée.
Valeur retournée
Si la fonction réussit, la valeur de retour est NO_ERROR.
Si la fonction échoue, elle peut retourner l’un des codes d’erreur suivants.
Erreur | Description |
---|---|
|
Une tentative d’accès aux données avant l’échec du marqueur de début du moyen. |
|
Une condition de réinitialisation a été détectée sur le bus. |
|
Les informations de partition sont introuvables lors du chargement d’une bande. |
|
Le marqueur de fin de bande a été atteint lors d’une opération. |
|
Une limite de fichier a été atteinte lors d’une opération. |
|
La taille du bloc est incorrecte sur une nouvelle bande dans une partition multivolume. |
|
La bande qui se trouvait dans le lecteur a été remplacée ou supprimée. |
|
Le marqueur de fin de données a été atteint pendant une opération. |
|
Il n’y a pas de média dans le lecteur. |
|
Le pilote de bande ne prend pas en charge une fonction demandée. |
|
Impossible de partitionner la bande. |
|
Une valeur setmark a été atteinte lors d’une opération. |
|
Une tentative de verrouillage du mécanisme d’éjection a échoué. |
|
Une tentative de déchargement de la bande a échoué. |
|
Le support est protégé en écriture. |
Remarques
Si le décalage spécifié par dwOffsetLow et dwOffsetHigh spécifie le nombre de blocs, de repères de fichier ou de setmarks à déplacer, un décalage positif déplace la bande vers l’avant jusqu’à la fin du dernier bloc, filemark ou setmark. Un décalage négatif déplace la bande vers l’arrière jusqu’au début du dernier bloc, de la marque de fichier ou du dernier setmark. Si le décalage est égal à zéro, la bande ne se déplace pas.
Pour obtenir des informations sur les status, les fonctionnalités et les capacités des lecteurs de bande et du média, appelez la fonction GetTapeParameters.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winbase.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |