AVC_FUNCTION_FIND_PEER_DO
The AVC_FUNCTION_FIND_PEER_DO function code locates a nonvirtual avc.sys instance.
I/O Status Block
If successful, the AV/C protocol driver sets Irp->IoStatus.Status to STATUS_SUCCESS.
Possible other return values include:
Return value | Description |
---|---|
STATUS_UNSUCCESSFUL | A nonvirtual instance of avc.sys was not found |
STATUS_INVALID_GENERATION | A bus reset occurred before the Device Object reference could be found. Obtain a new NodeAddress and try again. |
Comments
This function uses the PeerLocator member of the AVC_MULTIFUNC_IRB structure as shown below.
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_PEER_DO_LOCATOR PeerLocator;
.
.
.
};
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;
Requirements
Headers: Declared in avc.h. Include avc.h.
AVC_MULTIFUNC_IRB Input
Common
The Function submember of this member must be set to AVC_FUNCTION_FIND_PEER_DO from the AVC_FUNCTION enumeration.
PeerLocator
Specifies the nonvirtual (peer) instances of avc.sys.
This function locates a nonvirtual avc.sys instance according to the node address of the device it represents. If an instance is not found, the IRP completes with a status of STATUS_UNSUCCESSFUL. Once an instance is located, the caller may submit any GUID_AVC_CLASS Device Interface requests through the object. The caller must release the reference to this object (through ObDereferenceObject) when finished with it.
This function code may be called at IRQL <= DISPATCH_LEVEL.