PHW_RECEIVE_DEVICE_SRB fonction de rappel (strmini.h)
La routine fournie par minidriver gère les demandes de pilote de classe qui s’appliquent au pilote dans son ensemble, telles que l’initialisation de l’appareil ou l’ouverture d’un flux au sein de l’appareil.
Syntaxe
PHW_RECEIVE_DEVICE_SRB PhwReceiveDeviceSrb;
void PhwReceiveDeviceSrb(
[in] IN PHW_STREAM_REQUEST_BLOCK SRB
)
{...}
Paramètres
[in] SRB
Pointeur vers le bloc de requête de flux.
Valeur de retour
Aucun
Remarques
Le minidriver spécifie cette routine dans le HwReceivePacket membre de sa structure HW_INITIALIZATION_DATA. Le minidriver transmet cette structure au pilote de classe lorsqu’il s’inscrit en appelant StreamClassRegisterMinidriver.
StrMiniReceiveDevicePacket doit gérer les demandes de pilote de classe qui s’appliquent au pilote dans son ensemble, telles que l’initialisation de l’appareil ou l’ouverture d’un flux au sein de l’appareil. Le pilote de classe transmet ses informations sous la forme d’un pointeur vers un bloc de requête de flux. Le pilote de classe renseigne certaines des entrées dans le bloc de demande de flux. Le minidriver, à l’achèvement de la routine, doit renseigner des informations supplémentaires que le pilote de classe utilisera pour poursuivre le traitement.
Une fois sa gestion de la requête terminée, le minidriver transmet la structure au pilote de classe en appelant StreamClassDeviceNotification(DeviceRequestComplete, pSRB->HwDeviceExtension, pSRB).
Consultez des informations sur les codes SRB pertinents dans référence SRB de la classe de flux.
Lorsque le minidriver termine son traitement de la demande, il entre l’état de retour de l’opération dans pSrb ->Status. Le minidriver doit entrer STATUS_SUCCESS pour un traitement normal réussi. Si le minidriver ne prend pas en charge cette valeur de commande, il doit définir pSrb ->Status sur STATUS_NOT_IMPLEMENTED. S’il existe une erreur matérielle d’appareil qui empêche le minidriver d’effectuer la requête, il doit définir pSrb ->Status sur STATUS_IO_DEVICE_ERROR. D’autres codes d’erreur que la routine utilise dans des circonstances spécifiques sont répertoriés ci-dessus avec le code de commande spécifique.
Notez que le pilote de classe transmet des demandes de lecture et d’écriture à la routine StrMiniReceiveStreamDataPacket routine.
Le minidriver inscrit sa routine StrMiniReceiveStreamControlPacket comme suit : lorsque le pilote de classe ouvre le flux, il transmet un bloc de requête SRB_OPEN_STREAM au StrMiniReceiveDevicePacket routine du minidriver. Le membre StreamObject du paquet de requête pointe vers un HW_STREAM_OBJECT. Le minidriver définit le membre ReceiveControlPacket de la structure pointée par StreamObject à la routine StrMiniReceiveControlPacket du minidriver.
Une fois sa gestion de la requête terminée, le minidriver transmet la structure au pilote de classe en appelant StreamClassStreamNotification(StreamRequestComplete, pSRB->StreamObject, pSRB).
Consultez des informations sur les codes SRB pertinents dans référence SRB de la classe de flux.
Lorsque le minidriver termine son traitement de la demande, il entre l’état de retour de l’opération dans pSrb ->Status. Le minidriver doit entrer STATUS_SUCCESS pour un traitement normal réussi. Si le minidriver ne prend pas en charge cette valeur de commande, il doit définir pSrb ->Status sur STATUS_NOT_IMPLEMENTED. S’il existe une erreur matérielle d’appareil qui empêche le minidriver d’effectuer la requête, il doit définir pSrb ->Status sur STATUS_IO_DEVICE_ERROR. D’autres codes d’erreur que la routine utilise dans des circonstances spécifiques sont répertoriés ci-dessus avec le code de commande spécifique.
Le pilote de classe de flux appelle le StrMiniReceiveStreamDataPacket routine pour gérer les demandes de lecture et d’écriture pour un flux spécifique.
Le minidriver inscrit sa routine StrMiniReceiveStreamDataPacket comme suit : lorsque le pilote de classe ouvre le flux, il transmet un bloc de requête SRB_OPEN_STREAM au StrMiniReceiveDevicePacket routine. StreamObject du paquet de requête pointe vers un HW_STREAM_OBJECT. Le minidriver définit le membre receiveDataPacket de la structure pointée par pSrb->StreamObject à la routine StrMiniReceiveDataPack et du minidriver.
Une fois sa gestion de la requête terminée, le minidriver transmet la structure au pilote de classe en appelant StreamClassStreamNotification(StreamRequestComplete, pSRB->StreamObject, pSRB).
Consultez des informations sur les codes SRB pertinents dans référence SRB de la classe de flux.
Lorsque le minidriver termine son traitement de la demande, il entre l’état de retour de l’opération dans pSrb ->Status. Le minidriver doit entrer STATUS_SUCCESS pour un traitement normal réussi. Si le minidriver ne prend pas en charge cette valeur de commande, il doit définir pSrb ->Status sur STATUS_NOT_IMPLEMENTED. S’il existe une erreur matérielle d’appareil qui empêche le minidriver d’effectuer la requête, il doit définir pSrb ->Status sur STATUS_IO_DEVICE_ERROR. D’autres codes d’erreur que la routine utilise dans des circonstances spécifiques sont répertoriés ci-dessus avec le code de commande spécifique.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | strmini.h (include Strmini.h) |