Partager via


Méthode IWDFRemoteTarget ::OpenFileByName (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

La méthode OpenFileByName ouvre une cible d’E/S distante qui est un fichier.

Syntaxe

HRESULT OpenFileByName(
  [in]           PCWSTR                      pszFileName,
  [in]           DWORD                       DesiredAccess,
  [in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);

Paramètres

[in] pszFileName

Pointeur vers une chaîne terminée par null fournie par l’appelant qui représente le nom du fichier à ouvrir. Pour plus d’informations sur ce membre, consultez le paramètre FileName de CreateFile dans le SDK Windows.

[in] DesiredAccess

Masque de bits qui spécifie l’accès souhaité de l’appelant au fichier. Pour plus d’informations sur ce membre, consultez le paramètre dwDesiredAccess de CreateFile dans le SDK Windows.

[in, optional] pOpenParams

Pointeur vers une structure de UMDF_IO_TARGET_OPEN_PARAMS allouée à l’appelant qui contient des paramètres supplémentaires. Ce paramètre est facultatif et peut être NULL.

Valeur retournée

OpenFileByName retourne S_OK si l’opération réussit. Sinon, la méthode peut retourner la valeur suivante :

Code de retour Description
E_OUTOFMEMORY
La tentative d’allocation de mémoire de l’infrastructure a échoué.
 

Cette méthode peut retourner l’une des autres valeurs que Winerror.h contient.

Le vérificateur de l’infrastructure signale une erreur si l’infrastructure ne peut pas ouvrir le fichier.

Remarques

Votre pilote peut utiliser OpenFileByName pour ouvrir un fichier, si la pile de pilotes à laquelle appartient votre pilote ne prend pas en charge le périphérique du fichier. Utilisez IWDFFileHandleTargetFactory ::CreateFileHandleTarget pour ouvrir un fichier, si la pile de pilotes à laquelle appartient votre pilote prend en charge le périphérique du fichier.

Le fichier spécifié doit être accessible par le compte qui a chargé le pilote UMDF, qui est généralement le compte de service local. Toutefois, si le pilote utilise l’emprunt d’identité lorsqu’il appelle OpenFileByName, le fichier doit être accessible par le compte emprunté.

N’appelez pas OpenFileByName pour ouvrir une cible distante à un objet d’appareil de contrôle. Au lieu de cela, ouvrez directement l’appareil de contrôle en appelant CreateFile.

Pour plus d’informations sur la méthode OpenFileByName et les cibles d’E/S distantes, consultez Cibles d’E/S générales dans UMDF.

Exemples

L’exemple de code suivant crée un objet cible distant et ouvre un fichier existant avec accès en lecture seule.

UMDF_IO_TARGET_OPEN_PARAMS openParams;
HRESULT hr;

//
// Create a new remote target object and provide a callback 
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
                                  fxRemoteInterface,
                                  &fxTarget);
if (FAILED(hr)) goto Error;

//
// Open existing file for read-only access.
//
openParams.dwShareMode = 0;
openParams.dwCreationDisposition = OPEN_EXISTING;
openParams.dwFlagsAndAttributes = FILE_ATTRIBUTE_READONLY;

hr = fxTarget->OpenFileByName(FILE_PATH,
                              GENERIC_READ,
                              &openParams);
 

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1,9
En-tête wudfddi.h (inclure Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IWDFDevice2 ::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget ::OpenRemoteInterface