Partager via


IWDFRemoteTarget ::OpenFileByName, méthode (wudfddi.h)

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

La méthode OpenFileByName ouvre un 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 un appelant fourni, chaîne null-terminated qui représente le nom du fichier à ouvrir. Pour plus d’informations sur ce membre, consultez le paramètre FileName de CreateFile dans le Kit de développement logiciel (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 Kit de développement logiciel (SDK) Windows.

[in, optional] pOpenParams

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

Valeur de retour

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

Retourner le code Description
E_OUTOFMEMORY
Échec de la tentative de l’infrastructure d’allouer de la mémoire.
 

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 l’appareil du fichier. Utilisez IWDFFileHandleTargetFactory ::CreateFileHandleTarget pour ouvrir un fichier, si la pile de pilotes à laquelle appartient votre pilote prend en charge l’appareil du fichier.

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

N’appelez pas OpenFileByName pour ouvrir une cible distante sur un objet d’appareil de contrôle. Au lieu de cela, ouvrez l’appareil de contrôle directement 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 un 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);
 

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.9
d’en-tête wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IWDFDevice2 ::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget ::OpenRemoteInterface