Metodo CPullPin.Connect
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il Connect
metodo completa una connessione al pin di output.
Sintassi
HRESULT Connect(
IUnknown *pUnk,
IMemAllocator *pAlloc,
BOOL bSync
);
Parametri
-
Punk
-
Puntatore all'interfaccia IUnknown del pin di output.
-
pAlloc
-
Puntatore all'interfaccia IMemAllocator dell'allocatore preferito del pin di input o NULL.
-
bSync
-
Valore booleano che specifica se usare letture sincrone. Se TRUE, il pin esegue operazioni di lettura sincrone sul pin di output. Se FALSE, il pin effettua richieste di lettura asincrone.
Valore restituito
Restituisce un valore HRESULT. Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Il pin di input è già connesso. |
|
Il pin di output non espone IAsyncReader. |
Commenti
Chiamare questo metodo durante il processo di connessione del pin di input. Se il metodo ha esito negativo, il pin non riesce la connessione.
Questo metodo esegue una query sul pin di output per l'interfaccia IAsyncReader . Se ha esito positivo, chiama CPullPin::D ecideAllocator per negoziare l'allocatore per la connessione. Se il pin di input ha un allocatore preferito, specificarlo nel parametro pAlloc ; Il metodo DecideAllocator passa questo puntatore al metodo IAsyncReader::RequestAllocator del pin di output. In caso contrario, impostare pAlloc su NULL.
Se il valore di bSync è TRUE, l'oggetto CPullPin effettua richieste di lettura sincrone chiamando IAsyncReader::SyncReadAligned del pin di output. In caso contrario, chiama il metodo IAsyncReader::Request per effettuare richieste di lettura sovrapposte.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|