GetTapePosition, fonction (winbase.h)
La fonction GetTapePosition récupère l’adresse actuelle de la bande, dans des blocs logiques ou absolus.
Syntaxe
DWORD GetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionType,
[out] LPDWORD lpdwPartition,
[out] LPDWORD lpdwOffsetLow,
[out] LPDWORD lpdwOffsetHigh
);
Paramètres
[in] hDevice
Gérez l’appareil sur lequel obtenir la position de la bande. Ce handle est créé à l’aide de CreateFile.
[in] dwPositionType
Type d’adresse à obtenir. Ce paramètre peut prendre les valeurs suivantes.
[out] lpdwPartition
Pointeur vers une variable qui reçoit le numéro de la partition de bande actuelle. Les partitions sont numérotées logiquement de 1 à n, où 1 est la première partition de la bande et n est la dernière. Lorsqu’une adresse de bloc spécifique à l’appareil est récupérée ou si l’appareil ne prend en charge qu’une seule partition, ce paramètre reçoit zéro.
[out] lpdwOffsetLow
Pointeur vers une variable qui reçoit les bits d’ordre inférieur de la position actuelle de la bande.
[out] lpdwOffsetHigh
Pointeur vers une variable qui reçoit les bits d’ordre élevé de la position actuelle de la bande. Ce paramètre peut avoir la valeur NULL si les bits d’ordre élevé ne sont pas requis.
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.
Code d'erreur | Description |
---|---|
|
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 marque 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 aucun média dans le lecteur. |
|
Le pilote de bande ne prend pas en charge une fonction demandée. |
|
Impossible de partitionner la bande. |
|
Un setmark a été atteint pendant 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
Une adresse de bloc logique est relative à une partition. La première adresse de bloc logique sur chaque partition est zéro.
Appelez la fonction GetTapeParameters pour obtenir des informations sur les status, les fonctionnalités et les capacités des lecteurs de bande et des supports multimédias.
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 |